Micron Document
C.S.Burner 🪙 ━►🔥GIT Node


Displaying Raw • Download

meshchatx/src/frontend/components/relay/RelayChatPage.vue 65ca9ddc823fcc2c8f8653c553b944b85db0875f (65ca9ddc) Text, 155.75 KB

Tff7b72<Tff7b72!Tff7b72-Tff7b72- Te6edf3SPDXTff7b72-Te6edf3LicenseTff7b72-Te6edf3IdentifierTff7b72: T79c0ff0Te6edf3BSD Tff7b72-Tff7b72-Tff7b72>

Tff7b72<Te6edf3templateTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex flex-col flex-1 min-w-0 h-full bg-sem-canvas text-sem-fgTa5d6ff"Tff7b72>
Tff7b72<Te6edf3div
Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ff!rrcEnabledTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex flex-1 flex-col items-center justify-center gap-3 p-8 text-center text-sem-fg-mutedTa5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffforum-off-outlineTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-12 opacity-40Ta5d6ff" Tff7b72/Tff7b72>
Tff7b72<Te6edf3p Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffmax-w-md text-smTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.disabled_messageTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3pTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>

Tff7b72<Te6edf3template Te6edf3vTff7b72-Tff7b72elseTff7b72>
Tff7b72<Tff7b72!Tff7b72-Tff7b72- Te6edf3view Te6edf3tabs Tff7b72-Tff7b72-Tff7b72>
Tff7b72<Te6edf3div
Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ff!isPopoutModeTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex items-stretch h-9 shrink-0 border-b border-sem-border bg-sem-surface-muted overflow-x-autoTa5d6ff"
Te6edf3roleTff7b72=Ta5d6ff"Ta5d6fftablistTa5d6ff"
Tff7b72>
Tff7b72<Te6edf3button
Te6edf3vTff7b72-Tff7b72forTff7b72=Ta5d6ff"Ta5d6fftab in tabsTa5d6ff"
Tff7b72:Te6edf3keyTff7b72=Ta5d6ff"Ta5d6fftab.idTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff"
Te6edf3roleTff7b72=Ta5d6ff"Ta5d6fftabTa5d6ff"
Tff7b72:Te6edf3ariaTff7b72-Te6edf3selectedTff7b72=Ta5d6ff"Ta5d6ffview === tab.idTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffinline-flex items-center gap-1.5 px-3 sm:px-4 border-r border-sem-border text-sm transition-colors shrink-0Ta5d6ff"
Tff7b72:Tff7b72classTff7b72=Ta5d6ff"
Te6edf3view Tff7b72=Tff7b72=Tff7b72= Te6edf3tabTb4b4b4.Tffa657id
Tff7b72? 'Te6edf3bgTff7b72-Te6edf3semTff7b72-Te6edf3canvas Te6edf3textTff7b72-Te6edf3semTff7b72-Te6edf3fg Te6edf3fontTff7b72-Te6edf3medium'
Tff7b72: 'Te6edf3textTff7b72-Te6edf3semTff7b72-Te6edf3fgTff7b72-Te6edf3muted Te6edf3hoverTff7b72:Te6edf3bgTff7b72-Te6edf3semTff7b72-Te6edf3surfaceTff7b72/T79c0ff80 Te6edf3darkTff7b72:Te6edf3hoverTff7b72:Te6edf3bgTff7b72-Te6edf3semTff7b72-Te6edf3surfaceTff7b72/T79c0ff30'
Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffselectView(tab.id)Ta5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Tff7b72:Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6fftab.iconTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-4 shrink-0 opacity-70Ta5d6ff" Tff7b72/Tff7b72>
Tff7b72<Te6edf3spanTff7b72>Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Te6edf3tabTb4b4b4.Te6edf3labelTb4b4b4) Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>

Tff7b72<Tff7b72!Tff7b72-Tff7b72- Te6edf3connect Te6edf3view Tff7b72-Tff7b72-Tff7b72>
Tff7b72<Te6edf3div Te6edf3vTff7b72-Te6edf3showTff7b72=Ta5d6ff"Ta5d6ffview === 'chat'Ta5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex flex-1 min-w-0 overflow-hiddenTa5d6ff"Tff7b72>
Tff7b72<Tff7b72!Tff7b72-Tff7b72- Te6edf3hubs Tff7b72+ Te6edf3rooms Te6edf3sidebar Tff7b72-Tff7b72-Tff7b72>
Tff7b72<Te6edf3div
Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ff!isPopoutModeTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex-col shrink-0 border-r border-sem-border bg-sem-canvasTa5d6ff"
Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ff[
Te6edf3selectedRoom Tff7b72? 'Te6edf3hidden Te6edf3mdTff7b72:Te6edf3flex' Tff7b72: 'Te6edf3flex'Tb4b4b4,
Te6edf3effectiveSidebarCollapsed Tff7b72? 'Te6edf3wT79c0ff-16 Te6edf3minTff7b72-Te6edf3wT79c0ff-16 Te6edf3maxTff7b72-Te6edf3wT79c0ff-16' Tff7b72: 'Te6edf3wTff7b72-Te6edf3full Te6edf3mdTff7b72:Te6edf3wT79c0ff-72'Tb4b4b4,
Tb4b4b4]Ta5d6ff"
Tff7b72>
Tff7b72<Te6edf3div
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex h-10 shrink-0 items-center border-b border-sem-border px-2Ta5d6ff"
Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffeffectiveSidebarCollapsed ? 'justify-center' : 'justify-between gap-2'Ta5d6ff"
Tff7b72>
Tff7b72<Te6edf3div Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ff!effectiveSidebarCollapsedTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex items-center gap-2 min-w-0Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffforumTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-5 shrink-0 text-sem-accentTa5d6ff" Tff7b72/Tff7b72>
Tff7b72<Te6edf3span Tff7b72classTff7b72=Ta5d6ff"Ta5d6fffont-semibold truncateTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.titleTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3button
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffrounded-lg p-1.5 text-sem-fg-muted hover:bg-sem-surface/60 dark:hover:bg-sem-surface/30 transition-colorsTa5d6ff"
Tff7b72:Te6edf3titleTff7b72=Ta5d6ff"
Te6edf3effectiveSidebarCollapsed
Tff7b72? Te6edf3$tTb4b4b4('Te6edf3relay_chatTb4b4b4.Te6edf3expand_sidebar'Tb4b4b4)
Tff7b72: Te6edf3$tTb4b4b4('Te6edf3relay_chatTb4b4b4.Te6edf3collapse_sidebar'Tb4b4b4)
Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffrelaySidebarCollapsed = !relaySidebarCollapsedTa5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon
Tff7b72:Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffeffectiveSidebarCollapsed ? 'chevron-right' : 'chevron-left'Ta5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-5Ta5d6ff"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>

Tff7b72<Te6edf3div Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ffeffectiveSidebarCollapsedTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex flex-1 flex-col items-center gap-1 py-2 px-1Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3button
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffrounded-xl p-2 text-sem-fg-muted transition-colors hover:bg-sem-surface/60 hover:text-sem-accentTa5d6ff"
Tff7b72:Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ff$t('relay_chat.add_hub')Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffopenAddHubTa5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffplusTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-5Ta5d6ff" Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Te6edf3button
Te6edf3vTff7b72-Tff7b72forTff7b72=Ta5d6ff"Ta5d6ffhub in hubsTa5d6ff"
Tff7b72:Te6edf3keyTff7b72=Ta5d6ff"Ta5d6ffhub.hub_hashTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffrelative rounded-xl p-2 transition-colors hover:bg-sem-surface/60Ta5d6ff"
Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ff{ 'ring-2 ring-sem-accent': hub.hub_hash === selectedHubHash }Ta5d6ff"
Tff7b72:Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ffhubDisplayName(hub)Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffonCollapsedHubClick(hub)Ta5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon
Tff7b72:Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffhubIconName(hub)Ta5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-6Ta5d6ff"
Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffstatusIconColor(hub.status)Ta5d6ff"
Tff7b72/Tff7b72>
Tff7b72<Te6edf3span
Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ffshowUnreadBadges && hubTotalUnread(hub) > 0Ta5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffabsolute -top-0.5 -right-0.5 min-w-[14px] rounded-full bg-red-500 px-0.5 text-[9px] font-bold leading-tight text-whiteTa5d6ff"
Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3formatUnreadBadgeTb4b4b4(Te6edf3hubTotalUnreadTb4b4b4(Te6edf3hubTb4b4b4)Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>

Tff7b72<Te6edf3div
Te6edf3vTff7b72-Tff7b72else
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex-1 overflow-y-auto custom-scrollbar p-2 space-y-1.5Ta5d6ff"
Tb4b4b4@Te6edf3contextmenuTb4b4b4.Te6edf3preventTff7b72=Ta5d6ff"Ta5d6ffopenSidebarContextMenu($event, {})Ta5d6ff"
Tff7b72>
Tff7b72<Te6edf3button
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex w-full items-center gap-2 border-b border-sem-border/60 px-2 py-2.5 text-left text-sm text-sem-fg-muted transition-colors hover:bg-sem-surface/40 hover:text-sem-accentTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffopenAddHubTa5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffplusTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-4 shrink-0Ta5d6ff" Tff7b72/Tff7b72>
Tff7b72<Te6edf3span Tff7b72classTff7b72=Ta5d6ff"Ta5d6fffont-mediumTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.add_hub_cardTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>

Tff7b72<Te6edf3div
Te6edf3vTff7b72-Tff7b72forTff7b72=Ta5d6ff"Ta5d6ff(hub, hubIndex) in hubsTa5d6ff"
Tff7b72:Te6edf3keyTff7b72=Ta5d6ff"Ta5d6ffhub.hub_hashTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffborder-b border-sem-border/60Ta5d6ff"
Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ff{ 'opacity-60': dragHubIndex === hubIndex }Ta5d6ff"
Te6edf3draggableTff7b72=Ta5d6ff"Ta5d6fftrueTa5d6ff"
Tb4b4b4@Te6edf3dragstartTff7b72=Ta5d6ff"Ta5d6ffonHubDragStart(hubIndex, $event)Ta5d6ff"
Tb4b4b4@Te6edf3dragoverTb4b4b4.Te6edf3preventTff7b72=Ta5d6ff"Ta5d6ffonHubDragOver(hubIndex)Ta5d6ff"
Tb4b4b4@Te6edf3dropTb4b4b4.Te6edf3preventTff7b72=Ta5d6ff"Ta5d6ffonHubDrop(hubIndex)Ta5d6ff"
Tb4b4b4@Te6edf3dragendTff7b72=Ta5d6ff"Ta5d6ffdragHubIndex = nullTa5d6ff"
Tb4b4b4@Te6edf3contextmenuTb4b4b4.Te6edf3preventTff7b72=Ta5d6ff"Ta5d6ffopenSidebarContextMenu($event, { hub })Ta5d6ff"
Tff7b72>
Tff7b72<Te6edf3button
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex w-full items-center gap-2 px-3 py-2.5 text-left transition-colors hover:bg-sem-surface/60 dark:hover:bg-sem-surface/30Ta5d6ff"
Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ff{
'Te6edf3bgTff7b72-Te6edf3semTff7b72-Te6edf3surfaceTff7b72/T79c0ff70 Te6edf3darkTff7b72:Te6edf3bgTff7b72-Te6edf3semTff7b72-Te6edf3surfaceTff7b72/T79c0ff25'Tff7b72: Te6edf3hubTb4b4b4.Te6edf3hub_hash Tff7b72=Tff7b72=Tff7b72= Te6edf3selectedHubHashTb4b4b4,
Tb4b4b4}Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6fftoggleHub(hub.hub_hash)Ta5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon
Tff7b72:Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffisExpanded(hub.hub_hash) ? 'chevron-down' : 'chevron-right'Ta5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-4 shrink-0 text-sem-fg-mutedTa5d6ff"
Tff7b72/Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon
Tff7b72:Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffhubIconName(hub)Ta5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-5 shrink-0Ta5d6ff"
Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffstatusIconColor(hub.status)Ta5d6ff"
Tff7b72/Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffmin-w-0 flex-1Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6fftruncate font-medium leading-tightTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{ Te6edf3hubDisplayNameTb4b4b4(Te6edf3hubTb4b4b4) Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6fftruncate text-xsTa5d6ff" Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffstatusTextColor(hub.status)Ta5d6ff"Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3statusLabelTb4b4b4(Te6edf3hubTb4b4b4.Te6edf3statusTb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3span
Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ffshowUnreadBadges && hubTotalUnread(hub) > 0Ta5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffshrink-0 min-w-[1.25rem] rounded-full bg-red-500 px-1.5 py-0.5 text-center text-xs font-bold text-whiteTa5d6ff"
Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3formatUnreadBadgeTb4b4b4(Te6edf3hubTotalUnreadTb4b4b4(Te6edf3hubTb4b4b4)Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>

Tff7b72<Te6edf3div
Te6edf3vTff7b72-Te6edf3showTff7b72=Ta5d6ff"Ta5d6ffisExpanded(hub.hub_hash)Ta5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffborder-t border-sem-border/50 px-2 py-2 space-y-2Ta5d6ff"
Tff7b72>
Tff7b72<Te6edf3button
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex w-full items-center gap-1.5 px-1 font-mono text-xs text-sem-fg-muted hover:text-sem-accentTa5d6ff"
Tff7b72:Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ff$t('relay_chat.copy_hash')Ta5d6ff"
Tb4b4b4@Te6edf3clickTb4b4b4.Te6edf3stopTff7b72=Ta5d6ff"Ta5d6ffcopyHash(hub.hub_hash)Ta5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffcontent-copyTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-3.5 shrink-0Ta5d6ff" Tff7b72/Tff7b72>
Tff7b72<Te6edf3span Tff7b72classTff7b72=Ta5d6ff"Ta5d6fftruncateTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{ Te6edf3formatHashTb4b4b4(Te6edf3hubTb4b4b4.Te6edf3hub_hashTb4b4b4) Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex items-center gap-1.5Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3button
Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ff!hub.connectedTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff"
Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ff[btnPrimary, 'flex-1 !py-1.5 !text-xs']Ta5d6ff"
Tb4b4b4@Te6edf3clickTb4b4b4.Te6edf3stopTff7b72=Ta5d6ff"Ta5d6ffconnectHub(hub)Ta5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6fflan-connectTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-4Ta5d6ff" Tff7b72/Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.connectTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Te6edf3button
Te6edf3vTff7b72-Tff7b72else
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff"
Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ff[btnSecondary, 'flex-1 !py-1.5 !text-xs']Ta5d6ff"
Tb4b4b4@Te6edf3clickTb4b4b4.Te6edf3stopTff7b72=Ta5d6ff"Ta5d6ffdisconnectHub(hub)Ta5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6fflan-disconnectTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-4Ta5d6ff" Tff7b72/Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.disconnectTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Te6edf3button
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff"
Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffbtnIconSmTa5d6ff"
Tff7b72:Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ff$t('relay_chat.settings')Ta5d6ff"
Tb4b4b4@Te6edf3clickTb4b4b4.Te6edf3stopTff7b72=Ta5d6ff"Ta5d6ffopenSettings(hub)Ta5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffcogTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-4Ta5d6ff" Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Te6edf3button
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff"
Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffbtnDangerSmTa5d6ff"
Tff7b72:Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ff$t('relay_chat.remove_hub')Ta5d6ff"
Tb4b4b4@Te6edf3clickTb4b4b4.Te6edf3stopTff7b72=Ta5d6ff"Ta5d6ffremoveHub(hub)Ta5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6fftrash-can-outlineTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-4Ta5d6ff" Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>

Tff7b72<Te6edf3ul Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffspace-y-0Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3li
Te6edf3vTff7b72-Tff7b72forTff7b72=Ta5d6ff"Ta5d6ff(roomName, roomIndex) in orderedRoomsFor(hub)Ta5d6ff"
Tff7b72:Te6edf3keyTff7b72=Ta5d6ff"Ta5d6ffroomNameTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex items-center justify-between gap-2 px-2 py-1 text-sm cursor-pointer transition-colors hover:bg-sem-surface/60 dark:hover:bg-sem-surface/30Ta5d6ff"
Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ff{
'Te6edf3bgTff7b72-Te6edf3semTff7b72-Te6edf3actionTff7b72-Te6edf3primaryTff7b72/T79c0ff15 Te6edf3textTff7b72-Te6edf3semTff7b72-Te6edf3accent Te6edf3fontTff7b72-Te6edf3medium'Tff7b72:
Te6edf3hubTb4b4b4.Te6edf3hub_hash Tff7b72=Tff7b72=Tff7b72= Te6edf3selectedHubHash Tff7b72&Tff7b72& Te6edf3roomName Tff7b72=Tff7b72=Tff7b72= Te6edf3selectedRoomTb4b4b4,
'Te6edf3opacityT79c0ff-60'Tff7b72:
Te6edf3dragRoomHubHash Tff7b72=Tff7b72=Tff7b72= Te6edf3hubTb4b4b4.Te6edf3hub_hash Tff7b72&Tff7b72& Te6edf3dragRoomIndex Tff7b72=Tff7b72=Tff7b72= Te6edf3roomIndexTb4b4b4,
Tb4b4b4}Ta5d6ff"
Tff7b72:Te6edf3draggableTff7b72=Ta5d6ff"Ta5d6fforderedRoomsFor(hub).length > 1Ta5d6ff"
Tb4b4b4@Te6edf3dragstartTff7b72=Ta5d6ff"Ta5d6ffonRoomDragStart(hub, roomIndex, $event)Ta5d6ff"
Tb4b4b4@Te6edf3dragoverTb4b4b4.Te6edf3preventTff7b72=Ta5d6ff"Ta5d6ffonRoomDragOver(hub, roomIndex)Ta5d6ff"
Tb4b4b4@Te6edf3dropTb4b4b4.Te6edf3preventTff7b72=Ta5d6ff"Ta5d6ffonRoomDrop(hub, roomIndex)Ta5d6ff"
Tb4b4b4@Te6edf3dragendTff7b72=Ta5d6ff"Ta5d6ffonRoomDragEndTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffselectRoom(hub.hub_hash, roomName)Ta5d6ff"
Tb4b4b4@Te6edf3contextmenuTb4b4b4.Te6edf3preventTff7b72=Ta5d6ff"Ta5d6ffopenSidebarContextMenu($event, { hub, room: roomName })Ta5d6ff"
Tff7b72>
Tff7b72<Te6edf3span Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex min-w-0 items-center gap-1.5Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon
Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffpoundTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-3.5 shrink-0 opacity-60Ta5d6ff"
Tff7b72/Tff7b72>
Tff7b72<Te6edf3span Tff7b72classTff7b72=Ta5d6ff"Ta5d6fftruncateTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{ Te6edf3roomName Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Te6edf3span
Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ffshowUnreadBadges && roomUnreadCount(hub, roomName) > 0Ta5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffshrink-0 min-w-[1.125rem] rounded-full bg-red-500 px-1 text-center text-[10px] font-bold leading-4 text-whiteTa5d6ff"
Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3formatUnreadBadgeTb4b4b4(Te6edf3roomUnreadCountTb4b4b4(Te6edf3hubTb4b4b4, Te6edf3roomNameTb4b4b4)Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Tff7b72/Te6edf3liTff7b72>
Tff7b72<Te6edf3li
Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6fforderedRoomsFor(hub).length === 0 && availableRoomsFor(hub).length === 0Ta5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffpx-2.5 py-1 text-xs text-sem-fg-mutedTa5d6ff"
Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.no_roomsTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3liTff7b72>
Tff7b72<Tff7b72/Te6edf3ulTff7b72>

Tff7b72<Te6edf3div Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ffavailableRoomsFor(hub).length > 0Ta5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffspace-y-0.5Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3button
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex w-full items-center gap-1 px-2.5 pt-1 text-left text-[10px] font-semibold uppercase tracking-wide text-sem-fg-muted transition-colors hover:text-sem-fgTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6fftoggleAvailableRooms(hub.hub_hash)Ta5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon
Tff7b72:Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"
Te6edf3isAvailableRoomsExpandedTb4b4b4(Te6edf3hubTb4b4b4.Te6edf3hub_hashTb4b4b4)
Tff7b72? 'Te6edf3chevronTff7b72-Te6edf3down'
Tff7b72: 'Te6edf3chevronTff7b72-Te6edf3right'
Ta5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-3.5 shrink-0Ta5d6ff"
Tff7b72/Tff7b72>
Tff7b72<Te6edf3span Tff7b72classTff7b72=Ta5d6ff"Ta5d6fftruncateTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.available_roomsTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Te6edf3ul Te6edf3vTff7b72-Te6edf3showTff7b72=Ta5d6ff"Ta5d6ffisAvailableRoomsExpanded(hub.hub_hash)Ta5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffspace-y-0.5Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3li
Te6edf3vTff7b72-Tff7b72forTff7b72=Ta5d6ff"Ta5d6ffavailableRoom in availableRoomsFor(hub)Ta5d6ff"
Tff7b72:Te6edf3keyTff7b72=Ta5d6ff"Ta5d6ffavailableRoom.nameTa5d6ff"
Tff7b72:Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ffavailableRoom.topic || ''Ta5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex items-center justify-between gap-2 rounded-lg px-2.5 py-1.5 text-sm cursor-pointer text-sem-fg-muted transition-colors hover:bg-sem-surface/60 dark:hover:bg-sem-surface/30Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffjoinAvailableRoom(hub, availableRoom.name)Ta5d6ff"
Tff7b72>
Tff7b72<Te6edf3span Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex min-w-0 items-center gap-1.5Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon
Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffpoundTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-3.5 shrink-0 opacity-40Ta5d6ff"
Tff7b72/Tff7b72>
Tff7b72<Te6edf3span Tff7b72classTff7b72=Ta5d6ff"Ta5d6fftruncateTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{ Te6edf3availableRoomTb4b4b4.Te6edf3name Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Te6edf3button
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffinline-flex size-6 shrink-0 items-center justify-center rounded-md text-sem-fg-muted transition-colors hover:bg-sem-surface/60 hover:text-sem-accentTa5d6ff"
Tff7b72:Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ff$t('relay_chat.join')Ta5d6ff"
Tb4b4b4@Te6edf3clickTb4b4b4.Te6edf3stopTff7b72=Ta5d6ff"Ta5d6ffjoinAvailableRoom(hub, availableRoom.name)Ta5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffplusTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-3.5Ta5d6ff" Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Tff7b72/Te6edf3liTff7b72>
Tff7b72<Tff7b72/Te6edf3ulTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>

Tff7b72<Te6edf3form Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex flex-col gap-1Ta5d6ff" Tb4b4b4@Te6edf3submitTb4b4b4.Te6edf3preventTff7b72=Ta5d6ff"Ta5d6ffjoinRoom(hub)Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex gap-1Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"Ta5d6ffjoinRoomNameTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6fftextTa5d6ff"
Tff7b72:Te6edf3placeholderTff7b72=Ta5d6ff"Ta5d6ff$t('relay_chat.join_room_placeholder')Ta5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffmin-w-0 flex-1 border border-sem-border bg-sem-canvas px-2 py-1 text-xs text-sem-fg outline-none focus:border-sem-accent focus:ring-1 focus:ring-sem-accent/30Ta5d6ff"
Tff7b72/Tff7b72>
Tff7b72<Te6edf3button
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffsubmitTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffinline-flex size-7 shrink-0 items-center justify-center rounded-md text-sem-fg-muted transition-colors hover:bg-sem-surface/60 hover:text-sem-accentTa5d6ff"
Tff7b72:Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ff$t('relay_chat.join_room')Ta5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffplusTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-4Ta5d6ff" Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"Ta5d6ffjoinRoomKeyTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffpasswordTa5d6ff"
Tff7b72:Te6edf3placeholderTff7b72=Ta5d6ff"Ta5d6ff$t('relay_chat.join_room_key_placeholder')Ta5d6ff"
Te6edf3autocompleteTff7b72=Ta5d6ff"Ta5d6ffoffTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffw-full border border-sem-border bg-sem-canvas px-2 py-1 text-xs text-sem-fg outline-none focus:border-sem-accent focus:ring-1 focus:ring-sem-accent/30Ta5d6ff"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3formTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>

Tff7b72<Tff7b72!Tff7b72-Tff7b72- Te6edf3conversation Te6edf3pane Tff7b72-Tff7b72-Tff7b72>
Tff7b72<Te6edf3div
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex min-h-0 flex-1 min-w-0 flex-col overflow-hidden bg-sem-canvas md:flexTa5d6ff"
Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffselectedRoom ? 'flex' : 'hidden md:flex'Ta5d6ff"
Tff7b72>
Tff7b72<Te6edf3div
Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ffselectedHub && selectedRoomTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex items-center justify-between gap-3 px-2 py-2.5 border-b border-sem-border bg-sem-canvas sm:px-3Ta5d6ff"
Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex min-w-0 items-center gap-2Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3button
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffmd:hidden rounded-lg p-1.5 text-sem-fg-muted hover:bg-sem-surface/60 dark:hover:bg-sem-surface/30Ta5d6ff"
Tff7b72:Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ff$t('relay_chat.back')Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffselectedRoom = nullTa5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffarrow-leftTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-5Ta5d6ff" Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffpoundTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-5 shrink-0 text-sem-accentTa5d6ff" Tff7b72/Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffmin-w-0Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6fffont-semibold truncate leading-tightTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{ Te6edf3selectedRoom Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6fftext-xs text-sem-fg-muted truncateTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{ Te6edf3hubDisplayNameTb4b4b4(Te6edf3selectedHubTb4b4b4) Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex items-center gap-1.5 shrink-0Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3button
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff"
Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffbtnIconTa5d6ff"
Tff7b72:Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ff$t('relay_chat.search_messages')Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffshowSearch = !showSearchTa5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffmagnifyTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-5Ta5d6ff" Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Te6edf3button
Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ffsmUpTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff"
Te6edf3dataTff7b72-Te6edf3testidTff7b72=Ta5d6ff"Ta5d6ffrelay-popoutTa5d6ff"
Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffbtnIconTa5d6ff"
Tff7b72:Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ff$t('relay_chat.popout_channel')Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffpopoutChannelTa5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffopen-in-newTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-5Ta5d6ff" Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Te6edf3button
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff"
Tff7b72:Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ffshowMembers ? $t('relay_chat.hide_members') : $t('relay_chat.show_members')Ta5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffinline-flex items-center gap-1 rounded-lg border px-2 py-1.5 text-sm font-medium transitionTa5d6ff"
Tff7b72:Tff7b72classTff7b72=Ta5d6ff"
Te6edf3showMembers
Tff7b72? 'Te6edf3borderTff7b72-Te6edf3semTff7b72-Te6edf3actionTff7b72-Te6edf3primary Te6edf3bgTff7b72-Te6edf3semTff7b72-Te6edf3actionTff7b72-Te6edf3primaryTff7b72/T79c0ff15 Te6edf3textTff7b72-Te6edf3semTff7b72-Te6edf3accent'
Tff7b72: 'Te6edf3borderTff7b72-Te6edf3semTff7b72-Te6edf3border Te6edf3bgTff7b72-Te6edf3semTff7b72-Te6edf3canvas Te6edf3textTff7b72-Te6edf3semTff7b72-Te6edf3fg Te6edf3hoverTff7b72:Te6edf3bgTff7b72-Te6edf3semTff7b72-Te6edf3surfaceTff7b72/T79c0ff60 Te6edf3darkTff7b72:Te6edf3hoverTff7b72:Te6edf3bgTff7b72-Te6edf3semTff7b72-Te6edf3surfaceTff7b72/T79c0ff30'
Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffshowMembers = !showMembersTa5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffaccount-groupTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-5Ta5d6ff" Tff7b72/Tff7b72>
Tff7b72<Te6edf3span Tff7b72classTff7b72=Ta5d6ff"Ta5d6fftext-xs font-semiboldTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{ Te6edf3onlineMembersTb4b4b4.Te6edf3length Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Te6edf3button
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff"
Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffbtnIconTa5d6ff"
Tff7b72:Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ff$t('relay_chat.clear_messages')Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffclearMessagesTa5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffbroomTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-5Ta5d6ff" Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Te6edf3button
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff"
Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffbtnDangerTa5d6ff"
Tff7b72:Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ff$t('relay_chat.leave_room')Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffleaveRoomTa5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffexit-to-appTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-5Ta5d6ff" Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>

Tff7b72<Te6edf3div
Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ffselectedHub && selectedHub.motd && selectedRoomTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex items-start gap-2 px-3 py-2 text-xs border-b border-sem-border bg-sem-canvas text-sem-fg-secondaryTa5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon
Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffinformation-outlineTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-4 shrink-0 mt-0.5 text-sem-accentTa5d6ff"
Tff7b72/Tff7b72>
Tff7b72<Te6edf3spanTff7b72>Tb4b4b4{Tb4b4b4{ Te6edf3selectedHubTb4b4b4.Te6edf3motd Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>

Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffrelative flex flex-1 min-h-0 overflow-hiddenTa5d6ff"Tff7b72>
Tff7b72<Tff7b72!Tff7b72-Tff7b72- Te6edf3messages Tff7b72-Tff7b72-Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex flex-1 min-w-0 flex-col min-h-0Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3div
Te6edf3refTff7b72=Ta5d6ff"Ta5d6ffmessageListTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffrelative flex-1 overflow-y-auto custom-scrollbar p-3 sm:p-4Ta5d6ff"
Te6edf3styleTff7b72=Ta5d6ff"Ta5d6ffoverflow-anchor: noneTa5d6ff"
Tb4b4b4@Te6edf3scrollTff7b72=Ta5d6ff"Ta5d6ffonMessagesScrollTa5d6ff"
Tff7b72>
Tff7b72<Te6edf3div
Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ff!selectedRoomTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffh-full flex flex-col items-center justify-center gap-2 text-center text-sem-fg-mutedTa5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffchat-outlineTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-10 opacity-40Ta5d6ff" Tff7b72/Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.no_room_selectedTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div
Te6edf3vTff7b72-Tff7b72else
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffrelative min-w-0Ta5d6ff"
Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffuseVirtualMessageList ? '' : 'space-y-1.5'Ta5d6ff"
Tff7b72>
Tff7b72<Te6edf3button
Te6edf3vTff7b72-Te6edf3showTff7b72=Ta5d6ff"Ta5d6ff!isLoadingPrevious && hasMorePreviousTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffabsolute top-0 left-1/2 z-20 -translate-x-1/2 flex items-center gap-1.5 rounded-full border border-sem-border bg-sem-canvas/95 px-3 py-1 text-xs font-medium text-sem-fg-secondary shadow-xs backdrop-blur-sm hover:bg-sem-surface/60Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffloadPreviousMessagesTa5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffarrow-upTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-3.5Ta5d6ff" Tff7b72/Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.load_previousTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Te6edf3template Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ff!useVirtualMessageListTa5d6ff"Tff7b72>
Tff7b72<Te6edf3template
Te6edf3vTff7b72-Tff7b72forTff7b72=Ta5d6ff"Ta5d6ff(entry, entryIndex) in messageTimelineTa5d6ff"
Tff7b72:Te6edf3keyTff7b72=Ta5d6ff"Ta5d6fftimelineEntryKey(entry, entryIndex)Ta5d6ff"
Tff7b72>
Tff7b72<Te6edf3RelayMessageEntry Tff7b72:Te6edf3entryTff7b72=Ta5d6ff"Ta5d6ffentryTa5d6ff" Tff7b72:Te6edf3pageTff7b72=Ta5d6ff"Ta5d6ffrelayChatPageSelfTa5d6ff" Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3templateTff7b72>
Tff7b72<Tff7b72/Te6edf3templateTff7b72>
Tff7b72<Te6edf3RelayMessageListVirtual
Te6edf3vTff7b72-Tff7b72else
Te6edf3refTff7b72=Ta5d6ff"Ta5d6ffmessageListVirtualTa5d6ff"
Tff7b72:Te6edf3entriesTff7b72=Ta5d6ff"Ta5d6ffmessageTimelineTa5d6ff"
Tff7b72:Te6edf3getTff7b72-Te6edf3scrollTff7b72-Te6edf3elementTff7b72=Ta5d6ff"Ta5d6ffgetMessagesScrollElementTa5d6ff"
Tff7b72:Te6edf3pageTff7b72=Ta5d6ff"Ta5d6ffrelayChatPageSelfTa5d6ff"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>

Tff7b72<Te6edf3form
Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ffselectedHub && selectedRoomTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex items-center gap-2 p-2.5 border-t border-sem-border bg-sem-canvasTa5d6ff"
Tb4b4b4@Te6edf3submitTb4b4b4.Te6edf3preventTff7b72=Ta5d6ff"Ta5d6ffsendMessageTa5d6ff"
Tff7b72>
Tff7b72<Te6edf3input
Te6edf3refTff7b72=Ta5d6ff"Ta5d6ffcomposerInputTa5d6ff"
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"Ta5d6ffcomposerTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6fftextTa5d6ff"
Tff7b72:Te6edf3maxlengthTff7b72=Ta5d6ff"Ta5d6ffselectedHub.max_msg_body_bytes || 350Ta5d6ff"
Tff7b72:Te6edf3placeholderTff7b72=Ta5d6ff"Ta5d6ff$t('relay_chat.message_placeholder')Ta5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffinput-fieldTa5d6ff"
Tff7b72/Tff7b72>
Tff7b72<Te6edf3button
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffsubmitTa5d6ff"
Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ff[btnPrimary, 'shrink-0 !p-2.5']Ta5d6ff"
Tff7b72:Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ff$t('relay_chat.send')Ta5d6ff"
Tff7b72:Te6edf3disabledTff7b72=Ta5d6ff"Ta5d6ff!composer.trim() || sendingTa5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffsendTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-5Ta5d6ff" Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Tff7b72/Te6edf3formTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>

Tff7b72<Tff7b72!Tff7b72-Tff7b72- Te6edf3members Te6edf3panel Tff7b72-Tff7b72-Tff7b72>
Tff7b72<Te6edf3div
Te6edf3vTff7b72-Te6edf3showTff7b72=Ta5d6ff"Ta5d6ffshowMembers && selectedRoomTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffabsolute inset-y-0 right-0 z-40 flex w-72 max-w-[min(18rem,100%)] min-h-0 flex-col border-l border-sem-border bg-sem-canvas shadow-xl md:static md:z-auto md:max-w-none md:w-72 md:shadow-noneTa5d6ff"
Tff7b72>
Tff7b72<Te6edf3div
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex shrink-0 items-center justify-between gap-2 border-b border-sem-border px-3 py-2.5Ta5d6ff"
Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex items-center gap-1.5 font-semiboldTa5d6ff"Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffaccount-groupTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-4 text-sem-accentTa5d6ff" Tff7b72/Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.members_titleTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3button
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffrounded-lg p-1 text-sem-fg-muted hover:bg-sem-surface/60 dark:hover:bg-sem-surface/30Ta5d6ff"
Tff7b72:Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ff$t('relay_chat.hide_members')Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffshowMembers = falseTa5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffcloseTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-4Ta5d6ff" Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffshrink-0 border-b border-sem-border p-2Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"Ta5d6ffmembersSearchTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffsearchTa5d6ff"
Tff7b72:Te6edf3placeholderTff7b72=Ta5d6ff"Ta5d6ff$t('relay_chat.members_search_placeholder')Ta5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffinput-field !py-1.5 !text-xsTa5d6ff"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffmin-h-0 flex-1 overflow-y-auto custom-scrollbar p-2 space-y-3Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3divTff7b72>
Tff7b72<Te6edf3div
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffpx-1 pb-1 text-xs font-semibold uppercase tracking-wide text-sem-fg-mutedTa5d6ff"
Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.members_onlineTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4} Tb4b4b4(Tb4b4b4{Tb4b4b4{ Te6edf3filteredOnlineMembersTb4b4b4.Te6edf3length Tb4b4b4}Tb4b4b4}Tb4b4b4)
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3ul Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffspace-y-0.5Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3li
Te6edf3vTff7b72-Tff7b72forTff7b72=Ta5d6ff"Ta5d6ffm in filteredOnlineMembersTa5d6ff"
Tff7b72:Te6edf3keyTff7b72=Ta5d6ff"Ta5d6ffm.hashTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex cursor-pointer items-center gap-2 rounded-lg px-2 py-1.5 text-sm hover:bg-sem-surface/60 dark:hover:bg-sem-surface/30Ta5d6ff"
Tff7b72:Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ffm.hashTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffinsertMention(m.name)Ta5d6ff"
Tff7b72>
Tff7b72<Te6edf3span Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-2 shrink-0 rounded-full bg-sem-successTa5d6ff"Tff7b72>Tff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Te6edf3span Tff7b72classTff7b72=Ta5d6ff"Ta5d6fftruncateTa5d6ff" Tff7b72:Te6edf3styleTff7b72=Ta5d6ff"Ta5d6ff{ color: colorForHash(m.hash) }Ta5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{
Te6edf3mTb4b4b4.Te6edf3name
Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Tff7b72/Te6edf3liTff7b72>
Tff7b72<Tff7b72/Te6edf3ulTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6fffilteredOfflineMembers.length > 0Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3div
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffpx-1 pb-1 text-xs font-semibold uppercase tracking-wide text-sem-fg-mutedTa5d6ff"
Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.members_offlineTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4} Tb4b4b4(Tb4b4b4{Tb4b4b4{ Te6edf3filteredOfflineMembersTb4b4b4.Te6edf3length Tb4b4b4}Tb4b4b4}Tb4b4b4)
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3ul Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffspace-y-0.5Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3li
Te6edf3vTff7b72-Tff7b72forTff7b72=Ta5d6ff"Ta5d6ffm in filteredOfflineMembersTa5d6ff"
Tff7b72:Te6edf3keyTff7b72=Ta5d6ff"Ta5d6ffm.hashTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex items-center gap-2 rounded-lg px-2 py-1.5 text-sm opacity-60Ta5d6ff"
Tff7b72:Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ffm.hashTa5d6ff"
Tff7b72>
Tff7b72<Te6edf3span Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-2 shrink-0 rounded-full bg-sem-fg-mutedTa5d6ff"Tff7b72>Tff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Te6edf3span Tff7b72classTff7b72=Ta5d6ff"Ta5d6fftruncateTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{ Te6edf3mTb4b4b4.Te6edf3name Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Tff7b72/Te6edf3liTff7b72>
Tff7b72<Tff7b72/Te6edf3ulTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div
Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"
Te6edf3membersSearchTb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4) Tff7b72&Tff7b72&
Te6edf3filteredOnlineMembersTb4b4b4.Te6edf3length Tff7b72=Tff7b72=Tff7b72= T79c0ff0 Tff7b72&Tff7b72&
Te6edf3filteredOfflineMembersTb4b4b4.Te6edf3length Tff7b72=Tff7b72=Tff7b72= T79c0ff0
Ta5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffpx-2 py-4 text-center text-xs text-sem-fg-mutedTa5d6ff"
Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.members_search_no_resultsTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div
Te6edf3vTff7b72-Tff7b72elseTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ffonlineMembers.length === 0 && offlineMembers.length === 0Ta5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffpx-2 py-4 text-center text-xs text-sem-fg-mutedTa5d6ff"
Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.no_membersTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div
Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ffshowMembers && selectedRoomTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffabsolute inset-0 z-30 bg-black/40 md:hiddenTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffshowMembers = falseTa5d6ff"
Tff7b72>Tff7b72<Tff7b72/Te6edf3divTff7b72>

Tff7b72<Tff7b72!Tff7b72-Tff7b72- Te6edf3search Te6edf3panel Tff7b72-Tff7b72-Tff7b72>
Tff7b72<Te6edf3div
Te6edf3vTff7b72-Te6edf3showTff7b72=Ta5d6ff"Ta5d6ffshowSearch && selectedRoomTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffabsolute inset-y-0 right-0 z-40 flex w-80 max-w-[min(20rem,100%)] min-h-0 flex-col border-l border-sem-border bg-sem-canvas shadow-xl md:static md:z-auto md:max-w-none md:w-80 md:shadow-noneTa5d6ff"
Tff7b72>
Tff7b72<Te6edf3div
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex shrink-0 items-center justify-between gap-2 border-b border-sem-border px-3 py-2.5Ta5d6ff"
Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex items-center gap-1.5 font-semiboldTa5d6ff"Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffmagnifyTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-4 text-sem-accentTa5d6ff" Tff7b72/Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.search_messagesTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3button
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffrounded-lg p-1 text-sem-fg-muted hover:bg-sem-surface/60Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffshowSearch = falseTa5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffcloseTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-4Ta5d6ff" Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffshrink-0 border-b border-sem-border p-2Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"Ta5d6ffmessageSearchTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6fftextTa5d6ff"
Tff7b72:Te6edf3placeholderTff7b72=Ta5d6ff"Ta5d6ff$t('relay_chat.search_messages_placeholder')Ta5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffinput-field !py-1.5 !text-xsTa5d6ff"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffmin-h-0 flex-1 overflow-y-auto custom-scrollbar p-2 space-y-1Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3div
Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ff!messageSearch.trim()Ta5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex flex-col items-center gap-2 px-3 py-8 text-center text-xs text-sem-fg-mutedTa5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffmagnifyTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-8 opacity-40Ta5d6ff" Tff7b72/Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6fffont-medium text-sem-fg-secondaryTa5d6ff"Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.search_empty_hintTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffleading-relaxedTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.search_syntax_hintTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div
Te6edf3vTff7b72-Tff7b72elseTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ffsearchResults.length === 0Ta5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffpx-2 py-4 text-center text-xs text-sem-fg-mutedTa5d6ff"
Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.search_no_resultsTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3button
Te6edf3vTff7b72-Tff7b72forTff7b72=Ta5d6ff"Ta5d6ffmsg in searchResultsTa5d6ff"
Tff7b72:Te6edf3keyTff7b72=Ta5d6ff"Ta5d6ff'search-' + messageKey(msg)Ta5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffw-full rounded-lg px-2 py-1.5 text-left text-xs hover:bg-sem-surface/60Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffscrollToMessage(msg)Ta5d6ff"
Tff7b72>
Tff7b72<Te6edf3span Tff7b72classTff7b72=Ta5d6ff"Ta5d6fffont-semiboldTa5d6ff" Tff7b72:Te6edf3styleTff7b72=Ta5d6ff"Ta5d6ffnameStyle(msg)Ta5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{ Te6edf3displayNameTb4b4b4(Te6edf3msgTb4b4b4) Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Te6edf3span Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffml-1 text-sem-fg-mutedTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{ Te6edf3formatTimeTb4b4b4(Te6edf3msgTb4b4b4.Te6edf3tsTb4b4b4) Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6fftruncate text-sem-fg-secondaryTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{ Te6edf3msgTb4b4b4.Te6edf3text Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div
Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ffshowSearch && selectedRoomTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffabsolute inset-0 z-30 bg-black/40 md:hiddenTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffshowSearch = falseTa5d6ff"
Tff7b72>Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>

Tff7b72<Tff7b72!Tff7b72-Tff7b72- Te6edf3discovery Te6edf3view Tff7b72-Tff7b72-Tff7b72>
Tff7b72<Te6edf3div Te6edf3vTff7b72-Te6edf3showTff7b72=Ta5d6ff"Ta5d6ffview === 'discovery'Ta5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex-1 overflow-y-auto custom-scrollbar p-3 sm:p-4Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffmx-auto w-full max-w-3xl space-y-3Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex flex-wrap items-start justify-between gap-3Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3divTff7b72>
Tff7b72<Te6edf3h2 Tff7b72classTff7b72=Ta5d6ff"Ta5d6fftext-lg font-semiboldTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.discovery_titleTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3h2Tff7b72>
Tff7b72<Te6edf3p Tff7b72classTff7b72=Ta5d6ff"Ta5d6fftext-sm text-sem-fg-mutedTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.discovery_subtitleTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3pTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3button
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff"
Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffbtnSecondaryTa5d6ff"
Tff7b72:Te6edf3disabledTff7b72=Ta5d6ff"Ta5d6ffdiscoveryLoadingTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffrefreshDiscoveredTa5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon
Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffrefreshTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-4Ta5d6ff"
Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ff{ 'animate-spin': discoveryLoading }Ta5d6ff"
Tff7b72/Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.refreshTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>

Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffrelativeTa5d6ff"Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon
Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffmagnifyTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffpointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-sem-fg-mutedTa5d6ff"
Tff7b72/Tff7b72>
Tff7b72<Te6edf3input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"Ta5d6ffdiscoverySearchTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6fftextTa5d6ff"
Tff7b72:Te6edf3placeholderTff7b72=Ta5d6ff"Ta5d6ff$t('relay_chat.discovery_search', { count: discovered.length })Ta5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffinput-field !pl-9Ta5d6ff"
Tb4b4b4@Te6edf3inputTff7b72=Ta5d6ff"Ta5d6ffonDiscoverySearchTa5d6ff"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>

Tff7b72<Te6edf3div
Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ffdiscovered.length === 0Ta5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex flex-col items-center gap-2 rounded-xl border border-sem-border bg-sem-canvas p-8 text-center text-sm text-sem-fg-mutedTa5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffradarTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-10 opacity-40Ta5d6ff" Tff7b72/Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.discovery_emptyTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3divTff7b72>

Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffspace-y-2Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3div
Te6edf3vTff7b72-Tff7b72forTff7b72=Ta5d6ff"Ta5d6ffnode in discoveredTa5d6ff"
Tff7b72:Te6edf3keyTff7b72=Ta5d6ff"Ta5d6ffnode.destination_hashTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex flex-wrap items-center justify-between gap-3 rounded-xl border border-sem-border bg-sem-canvas p-4 transition-colors hover:border-sem-border-strongTa5d6ff"
Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffmin-w-0 flex-1Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex items-center gap-2Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon
Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffforum-outlineTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-4 shrink-0 text-sem-accentTa5d6ff"
Tff7b72/Tff7b72>
Tff7b72<Te6edf3span Tff7b72classTff7b72=Ta5d6ff"Ta5d6fftruncate font-semiboldTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{ Te6edf3nodeNameTb4b4b4(Te6edf3nodeTb4b4b4) Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3button
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffmt-1 flex items-center gap-1.5 font-mono text-xs text-sem-fg-muted hover:text-sem-accentTa5d6ff"
Tff7b72:Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ff$t('relay_chat.copy_hash')Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffcopyHash(node.destination_hash)Ta5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffcontent-copyTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-3.5Ta5d6ff" Tff7b72/Tff7b72>
Tff7b72<Te6edf3span Tff7b72classTff7b72=Ta5d6ff"Ta5d6fftruncateTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{ Te6edf3formatHashTb4b4b4(Te6edf3nodeTb4b4b4.Te6edf3destination_hashTb4b4b4) Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Te6edf3div
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffmt-1 flex flex-wrap items-center gap-x-3 gap-y-0.5 text-xs text-sem-fg-mutedTa5d6ff"
Tff7b72>
Tff7b72<Te6edf3span Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffinline-flex items-center gap-1Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffclock-outlineTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-3.5Ta5d6ff" Tff7b72/Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.announced_agoTa5d6ff"Tb4b4b4, Tb4b4b4{ Te6edf3timeTff7b72: Te6edf3timeAgoTb4b4b4(Te6edf3nodeTb4b4b4.Te6edf3updated_atTb4b4b4) Tb4b4b4}Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Te6edf3span Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ffnode.hops != nullTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffinline-flex items-center gap-1Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6fftransit-connection-variantTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-3.5Ta5d6ff" Tff7b72/Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.hops_awayTa5d6ff"Tb4b4b4, Tb4b4b4{ Te6edf3countTff7b72: Te6edf3nodeTb4b4b4.Te6edf3hops Tb4b4b4}Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3button
Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ffisHubAdded(node.destination_hash)Ta5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff"
Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffbtnSecondaryTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffopenDiscovered(node)Ta5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffopen-in-appTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-4Ta5d6ff" Tff7b72/Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.discovery_openTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Te6edf3button Te6edf3vTff7b72-Tff7b72else Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff" Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffbtnPrimaryTa5d6ff" Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffaddFromDiscovery(node)Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffplusTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-4Ta5d6ff" Tff7b72/Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.discovery_addTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>

Tff7b72<Tff7b72!Tff7b72-Tff7b72- Te6edf3host Te6edf3view Tff7b72-Tff7b72-Tff7b72>
Tff7b72<Te6edf3div Te6edf3vTff7b72-Te6edf3showTff7b72=Ta5d6ff"Ta5d6ffview === 'host'Ta5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex min-h-0 flex-1 flex-col overflow-hiddenTa5d6ff"Tff7b72>
Tff7b72<Te6edf3RelayHostModerationPage
Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ffhostModeration.hubTa5d6ff"
Tff7b72:Te6edf3hubTff7b72=Ta5d6ff"Ta5d6ffhostModeration.hubTa5d6ff"
Tff7b72:Te6edf3initialTff7b72-Te6edf3tabTff7b72=Ta5d6ff"Ta5d6ffhostModeration.tabTa5d6ff"
Tff7b72:Te6edf3roomTff7b72-Te6edf3filterTff7b72=Ta5d6ff"Ta5d6ffhostModeration.roomTa5d6ff"
Tb4b4b4@Te6edf3backTff7b72=Ta5d6ff"Ta5d6ffcloseHostModerationTa5d6ff"
Tb4b4b4@Te6edf3refreshTff7b72=Ta5d6ff"Ta5d6fffetchServersTa5d6ff"
Tff7b72/Tff7b72>
Tff7b72<Te6edf3div Te6edf3vTff7b72-Tff7b72else Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex-1 overflow-y-auto custom-scrollbar p-3 sm:p-4Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffmx-auto w-full max-w-3xl space-y-4Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex flex-wrap items-start justify-between gap-3Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3divTff7b72>
Tff7b72<Te6edf3h2 Tff7b72classTff7b72=Ta5d6ff"Ta5d6fftext-lg font-semiboldTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.host_titleTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3h2Tff7b72>
Tff7b72<Te6edf3p Tff7b72classTff7b72=Ta5d6ff"Ta5d6fftext-sm text-sem-fg-mutedTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.host_subtitleTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3pTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3button Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff" Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffbtnPrimaryTa5d6ff" Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffopenCreateHubTa5d6ff"Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffplusTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-4Ta5d6ff" Tff7b72/Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.create_hubTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>

Tff7b72<Te6edf3div
Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ffserverHubs.length === 0Ta5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex flex-col items-center gap-2 rounded-xl border border-sem-border bg-sem-canvas p-8 text-center text-sm text-sem-fg-mutedTa5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffserver-network-offTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-10 opacity-40Ta5d6ff" Tff7b72/Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.no_hosted_hubsTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3divTff7b72>

Tff7b72<Te6edf3div
Te6edf3vTff7b72-Tff7b72forTff7b72=Ta5d6ff"Ta5d6ffhub in serverHubsTa5d6ff"
Tff7b72:Te6edf3keyTff7b72=Ta5d6ff"Ta5d6ffhub.idTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffrounded-xl border border-sem-border bg-sem-canvas p-4 space-y-3Ta5d6ff"
Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex flex-wrap items-start justify-between gap-3Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffmin-w-0 flex-1Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex items-center gap-2Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3span
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-2 shrink-0 rounded-fullTa5d6ff"
Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffhub.running ? 'bg-sem-success' : 'bg-sem-fg-muted'Ta5d6ff"
Tff7b72>Tff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Te6edf3span Tff7b72classTff7b72=Ta5d6ff"Ta5d6fffont-semibold truncateTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{ Te6edf3hubTb4b4b4.Te6edf3name Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3button
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffmt-1 flex items-center gap-1.5 text-xs font-mono text-sem-fg-muted hover:text-sem-accentTa5d6ff"
Tff7b72:Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ff$t('relay_chat.copy_hash')Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffcopyHash(hub.dest_hash)Ta5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffcontent-copyTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-3.5Ta5d6ff" Tff7b72/Tff7b72>
Tff7b72<Te6edf3span Tff7b72classTff7b72=Ta5d6ff"Ta5d6fftruncateTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{ Te6edf3formatHashTb4b4b4(Te6edf3hubTb4b4b4.Te6edf3dest_hashTb4b4b4) Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex shrink-0 items-center gap-1.5Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3button
Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ff!isHubAdded(hub.dest_hash)Ta5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff"
Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffbtnIconTa5d6ff"
Tff7b72:Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ff$t('relay_chat.host_join_as_client')Ta5d6ff"
Tff7b72:Te6edf3disabledTff7b72=Ta5d6ff"Ta5d6ff!hub.running || !hub.dest_hashTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffjoinHostedAsClient(hub)Ta5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffloginTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-4Ta5d6ff" Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Te6edf3button
Te6edf3vTff7b72-Tff7b72else
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff"
Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffbtnIconTa5d6ff"
Tff7b72:Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ff$t('relay_chat.host_leave_as_client')Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffleaveHostedAsClient(hub)Ta5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6fflogoutTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-4Ta5d6ff" Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Te6edf3button
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff"
Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffbtnIconTa5d6ff"
Tff7b72:Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ff$t('relay_chat.share_hub')Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffshareHubLink({ hub_hash: hub.dest_hash, name: hub.name })Ta5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffshare-variantTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-4Ta5d6ff" Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Te6edf3button
Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ff!hub.runningTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff"
Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ff[btnSecondary, '!px-2.5 !py-1.5 !text-xs']Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffstartServerHub(hub)Ta5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffplayTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-4Ta5d6ff" Tff7b72/Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.host_startTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Te6edf3button
Te6edf3vTff7b72-Tff7b72else
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff"
Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ff[btnSecondary, '!px-2.5 !py-1.5 !text-xs']Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffstopServerHub(hub)Ta5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffstopTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-4Ta5d6ff" Tff7b72/Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.host_stopTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Te6edf3button
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff"
Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffbtnIconTa5d6ff"
Tff7b72:Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ff$t('relay_chat.host_hub_settings')Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffopenHostHubSettings(hub)Ta5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffcogTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-4Ta5d6ff" Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Te6edf3button
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff"
Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffbtnIconTa5d6ff"
Tff7b72:Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ff$t('relay_chat.host_announce')Ta5d6ff"
Tff7b72:Te6edf3disabledTff7b72=Ta5d6ff"Ta5d6ff!hub.runningTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffannounceServerHub(hub)Ta5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffbullhorn-outlineTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-4Ta5d6ff" Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Te6edf3button
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff"
Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffbtnDangerTa5d6ff"
Tff7b72:Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ff$t('relay_chat.host_delete')Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffdeleteServerHub(hub)Ta5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6fftrash-can-outlineTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-4Ta5d6ff" Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>

Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex flex-wrap items-center gap-x-4 gap-y-1 text-xs text-sem-fg-mutedTa5d6ff"Tff7b72>
Tff7b72<Te6edf3span Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffinline-flex items-center gap-1Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffaccount-groupTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-3.5Ta5d6ff" Tff7b72/Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3hubTb4b4b4.Te6edf3clients Tb4b4b4}Tb4b4b4} Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.host_usersTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Te6edf3span Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffinline-flex items-center gap-1Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffpoundTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-3.5Ta5d6ff" Tff7b72/Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3hubTb4b4b4.Te6edf3roomsTb4b4b4.Te6edf3length Tb4b4b4}Tb4b4b4} Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.host_roomsTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Te6edf3span Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ffhub.runningTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffinline-flex items-center gap-1Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffclock-outlineTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-3.5Ta5d6ff" Tff7b72/Tff7b72>
Tb4b4b4{Tb4b4b4{
Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.host_moderation_uptimeTa5d6ff"Tb4b4b4, Tb4b4b4{
Te6edf3timeTb4b4b4: Te6edf3formatUptimeTb4b4b4(Te6edf3hostedHubUptimeSecondsTb4b4b4(Te6edf3hubTb4b4b4)Tb4b4b4)Tb4b4b4,
Tb4b4b4}Tb4b4b4)
Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>

Tff7b72<Te6edf3button
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff"
Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ff[btnSecondary, 'w-full !py-2 !text-xs']Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffopenHostModeration(hub)Ta5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffshield-accountTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-4Ta5d6ff" Tff7b72/Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.host_moderateTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>

Tff7b72<Tff7b72!Tff7b72-Tff7b72- Te6edf3create Te6edf3hub Te6edf3dialog Tff7b72-Tff7b72-Tff7b72>
Tff7b72<Te6edf3div Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ffshowCreateHubTa5d6ff" Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffRELAY_HOST_MODAL_OVERLAYTa5d6ff" Tb4b4b4@Te6edf3clickTb4b4b4.Tffa657selfTff7b72=Ta5d6ff"Ta5d6ffshowCreateHub = falseTa5d6ff"Tff7b72>
Tff7b72<Te6edf3div Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffRELAY_HOST_MODAL_PANEL_COMPACTTa5d6ff" Tb4b4b4@Te6edf3clickTb4b4b4.Te6edf3stopTff7b72>
Tff7b72<Te6edf3h2 Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffmb-4 text-lg font-semibold text-sem-fgTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.create_hub_titleTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3h2Tff7b72>
Tff7b72<Te6edf3form Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffspace-y-4Ta5d6ff" Tb4b4b4@Te6edf3submitTb4b4b4.Te6edf3preventTff7b72=Ta5d6ff"Ta5d6ffcreateServerHubTa5d6ff"Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffspace-y-1.5Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3label Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffblock text-sm font-semibold text-sem-fg-secondaryTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{
Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.hub_nameTa5d6ff"Tb4b4b4)
Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3labelTff7b72>
Tff7b72<Te6edf3input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"Ta5d6ffcreateHubForm.nameTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6fftextTa5d6ff"
Tff7b72:Te6edf3placeholderTff7b72=Ta5d6ff"Ta5d6ff$t('relay_chat.hub_name_placeholder')Ta5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffinput-fieldTa5d6ff"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffspace-y-1.5Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3label Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffblock text-sm font-semibold text-sem-fg-secondaryTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{
Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.host_greetingTa5d6ff"Tb4b4b4)
Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3labelTff7b72>
Tff7b72<Te6edf3input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"Ta5d6ffcreateHubForm.greetingTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6fftextTa5d6ff"
Tff7b72:Te6edf3placeholderTff7b72=Ta5d6ff"Ta5d6ff$t('relay_chat.host_greeting_placeholder')Ta5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffinput-fieldTa5d6ff"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3label Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsetting-toggle flex items-start gap-3Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3Toggle Tffa657idTff7b72=Ta5d6ff"Ta5d6ffrrc-create-announceTa5d6ff" Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"Ta5d6ffcreateHubForm.announceTa5d6ff" Tff7b72/Tff7b72>
Tff7b72<Te6edf3span Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffmin-w-0 text-smTa5d6ff"Tff7b72>
Tff7b72<Te6edf3span Tff7b72classTff7b72=Ta5d6ff"Ta5d6fffont-medium text-sem-fgTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{
Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.host_announce_periodicallyTa5d6ff"Tb4b4b4)
Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Tff7b72/Te6edf3labelTff7b72>
Tff7b72<Te6edf3div Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ffcreateHubForm.announceTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffspace-y-2Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex items-center justify-between gap-2Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3label
Tff7b72forTff7b72=Ta5d6ff"Ta5d6ffrrc-create-announce-intervalTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6fftext-sm font-semibold text-sem-fg-secondaryTa5d6ff"
Tff7b72>Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.host_announce_intervalTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3label
Tff7b72>
Tff7b72<Te6edf3input
Tffa657idTff7b72=Ta5d6ff"Ta5d6ffrrc-create-announce-interval-inputTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6fftextTa5d6ff"
Te6edf3inputmodeTff7b72=Ta5d6ff"Ta5d6ffnumericTa5d6ff"
Te6edf3autocompleteTff7b72=Ta5d6ff"Ta5d6ffoffTa5d6ff"
Te6edf3maxlengthTff7b72=Ta5d6ff"Ta5d6ff5Ta5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffw-16 shrink-0 rounded-lg border border-sem-border bg-sem-canvas px-1.5 py-1 text-center text-xs font-bold text-sem-accent tabular-nums shadow-xs focus:border-sem-accent focus:outline-hidden focus:ring-1 focus:ring-sem-accent/40Ta5d6ff"
Tff7b72:Te6edf3valueTff7b72=Ta5d6ff"Ta5d6ffcreateAnnounceIntervalMinutesShownTa5d6ff"
Tff7b72:Te6edf3ariaTff7b72-Te6edf3labelTff7b72=Ta5d6ff"Ta5d6ff$t('relay_chat.host_announce_interval')Ta5d6ff"
Tb4b4b4@Te6edf3focusTff7b72=Ta5d6ff"Ta5d6ffonCreateAnnounceIntervalFocusTa5d6ff"
Tb4b4b4@Te6edf3inputTff7b72=Ta5d6ff"Ta5d6ffonCreateAnnounceIntervalInputTa5d6ff"
Tb4b4b4@Te6edf3blurTff7b72=Ta5d6ff"Ta5d6ffonCreateAnnounceIntervalBlurTa5d6ff"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3input
Tffa657idTff7b72=Ta5d6ff"Ta5d6ffrrc-create-announce-intervalTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffrangeTa5d6ff"
Te6edf3minTff7b72=Ta5d6ff"Ta5d6ff0Ta5d6ff"
Tff7b72:Te6edf3maxTff7b72=Ta5d6ff"Ta5d6ffannounceSliderPosMaxTa5d6ff"
Te6edf3stepTff7b72=Ta5d6ff"Ta5d6ff1Ta5d6ff"
Tff7b72:Te6edf3valueTff7b72=Ta5d6ff"Ta5d6ffcreateAnnounceIntervalSliderPosTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffw-full h-2 rounded-lg appearance-none cursor-pointer bg-sem-surface-muted accent-sem-accentTa5d6ff"
Tb4b4b4@Te6edf3inputTff7b72=Ta5d6ff"Ta5d6ffonCreateAnnounceIntervalSliderTa5d6ff"
Tff7b72/Tff7b72>
Tff7b72<Te6edf3p Tff7b72classTff7b72=Ta5d6ff"Ta5d6fftext-xs text-sem-fg-mutedTa5d6ff"Tff7b72>
Tb4b4b4{Tb4b4b4{
Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.host_announce_interval_hintTa5d6ff"Tb4b4b4, Tb4b4b4{
Te6edf3minutesTb4b4b4: Te6edf3createAnnounceIntervalMinutesTb4b4b4,
Tb4b4b4}Tb4b4b4)
Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3pTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex justify-end gap-2 pt-1Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3button Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff" Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffbtnSecondaryTa5d6ff" Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffshowCreateHub = falseTa5d6ff"Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffcommon.cancelTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Te6edf3button Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffsubmitTa5d6ff" Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffbtnPrimaryTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.create_hubTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3formTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>

Tff7b72<Tff7b72!Tff7b72-Tff7b72- Te6edf3hosted Te6edf3hub Te6edf3settings Te6edf3dialog Tff7b72-Tff7b72-Tff7b72>
Tff7b72<Te6edf3div Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ffshowHostHubSettingsTa5d6ff" Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffRELAY_HOST_MODAL_OVERLAYTa5d6ff" Tb4b4b4@Te6edf3clickTb4b4b4.Tffa657selfTff7b72=Ta5d6ff"Ta5d6ffshowHostHubSettings = falseTa5d6ff"Tff7b72>
Tff7b72<Te6edf3div Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffRELAY_HOST_MODAL_PANEL_COMPACTTa5d6ff" Tb4b4b4@Te6edf3clickTb4b4b4.Te6edf3stopTff7b72>
Tff7b72<Te6edf3h2 Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffmb-4 text-lg font-semibold text-sem-fgTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.host_hub_settingsTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3h2Tff7b72>
Tff7b72<Te6edf3form Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffspace-y-4Ta5d6ff" Tb4b4b4@Te6edf3submitTb4b4b4.Te6edf3preventTff7b72=Ta5d6ff"Ta5d6ffsaveHostHubSettingsTa5d6ff"Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffspace-y-1.5Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3label Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffblock text-sm font-semibold text-sem-fg-secondaryTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{
Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.hub_nameTa5d6ff"Tb4b4b4)
Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3labelTff7b72>
Tff7b72<Te6edf3input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"Ta5d6ffhostHubSettingsForm.nameTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6fftextTa5d6ff"
Tff7b72:Te6edf3placeholderTff7b72=Ta5d6ff"Ta5d6ff$t('relay_chat.hub_name_placeholder')Ta5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffinput-fieldTa5d6ff"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3label Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsetting-toggle flex items-start gap-3Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3Toggle Tffa657idTff7b72=Ta5d6ff"Ta5d6ffrrc-host-announceTa5d6ff" Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"Ta5d6ffhostHubSettingsForm.announceTa5d6ff" Tff7b72/Tff7b72>
Tff7b72<Te6edf3span Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffmin-w-0 text-smTa5d6ff"Tff7b72>
Tff7b72<Te6edf3span Tff7b72classTff7b72=Ta5d6ff"Ta5d6fffont-medium text-sem-fgTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{
Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.host_announce_periodicallyTa5d6ff"Tb4b4b4)
Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Tff7b72/Te6edf3labelTff7b72>
Tff7b72<Te6edf3div Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ffhostHubSettingsForm.announceTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffspace-y-2Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex items-center justify-between gap-2Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3label
Tff7b72forTff7b72=Ta5d6ff"Ta5d6ffrrc-host-announce-intervalTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6fftext-sm font-semibold text-sem-fg-secondaryTa5d6ff"
Tff7b72>Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.host_announce_intervalTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3label
Tff7b72>
Tff7b72<Te6edf3input
Tffa657idTff7b72=Ta5d6ff"Ta5d6ffrrc-host-announce-interval-inputTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6fftextTa5d6ff"
Te6edf3inputmodeTff7b72=Ta5d6ff"Ta5d6ffnumericTa5d6ff"
Te6edf3autocompleteTff7b72=Ta5d6ff"Ta5d6ffoffTa5d6ff"
Te6edf3maxlengthTff7b72=Ta5d6ff"Ta5d6ff5Ta5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffw-16 shrink-0 rounded-lg border border-sem-border bg-sem-canvas px-1.5 py-1 text-center text-xs font-bold text-sem-accent tabular-nums shadow-xs focus:border-sem-accent focus:outline-hidden focus:ring-1 focus:ring-sem-accent/40Ta5d6ff"
Tff7b72:Te6edf3valueTff7b72=Ta5d6ff"Ta5d6ffhostAnnounceIntervalMinutesShownTa5d6ff"
Tff7b72:Te6edf3ariaTff7b72-Te6edf3labelTff7b72=Ta5d6ff"Ta5d6ff$t('relay_chat.host_announce_interval')Ta5d6ff"
Tb4b4b4@Te6edf3focusTff7b72=Ta5d6ff"Ta5d6ffonHostAnnounceIntervalFocusTa5d6ff"
Tb4b4b4@Te6edf3inputTff7b72=Ta5d6ff"Ta5d6ffonHostAnnounceIntervalInputTa5d6ff"
Tb4b4b4@Te6edf3blurTff7b72=Ta5d6ff"Ta5d6ffonHostAnnounceIntervalBlurTa5d6ff"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3input
Tffa657idTff7b72=Ta5d6ff"Ta5d6ffrrc-host-announce-intervalTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffrangeTa5d6ff"
Te6edf3minTff7b72=Ta5d6ff"Ta5d6ff0Ta5d6ff"
Tff7b72:Te6edf3maxTff7b72=Ta5d6ff"Ta5d6ffannounceSliderPosMaxTa5d6ff"
Te6edf3stepTff7b72=Ta5d6ff"Ta5d6ff1Ta5d6ff"
Tff7b72:Te6edf3valueTff7b72=Ta5d6ff"Ta5d6ffhostAnnounceIntervalSliderPosTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffw-full h-2 rounded-lg appearance-none cursor-pointer bg-sem-surface-muted accent-sem-accentTa5d6ff"
Tb4b4b4@Te6edf3inputTff7b72=Ta5d6ff"Ta5d6ffonHostAnnounceIntervalSliderTa5d6ff"
Tff7b72/Tff7b72>
Tff7b72<Te6edf3p Tff7b72classTff7b72=Ta5d6ff"Ta5d6fftext-xs text-sem-fg-mutedTa5d6ff"Tff7b72>
Tb4b4b4{Tb4b4b4{
Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.host_announce_interval_hintTa5d6ff"Tb4b4b4, Tb4b4b4{
Te6edf3minutesTb4b4b4: Te6edf3hostAnnounceIntervalMinutesTb4b4b4,
Tb4b4b4}Tb4b4b4)
Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3pTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex justify-end gap-2 pt-1Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3button Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff" Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffbtnSecondaryTa5d6ff" Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffshowHostHubSettings = falseTa5d6ff"Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffcommon.cancelTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Te6edf3button Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffsubmitTa5d6ff" Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffbtnPrimaryTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.saveTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3formTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>

Tff7b72<Tff7b72!Tff7b72-Tff7b72- Te6edf3add Te6edf3hub Te6edf3dialog Tff7b72-Tff7b72-Tff7b72>
Tff7b72<Te6edf3div
Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ffshowAddHubTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6fffixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4Ta5d6ff"
Tb4b4b4@Te6edf3clickTb4b4b4.Tffa657selfTff7b72=Ta5d6ff"Ta5d6ffshowAddHub = falseTa5d6ff"
Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffw-full max-w-md rounded-2xl border border-sem-border-card bg-sem-surface p-5 shadow-xlTa5d6ff"Tff7b72>
Tff7b72<Te6edf3h2 Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffmb-4 text-lg font-semiboldTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.add_hub_titleTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3h2Tff7b72>
Tff7b72<Te6edf3form Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffspace-y-4Ta5d6ff" Tb4b4b4@Te6edf3submitTb4b4b4.Te6edf3preventTff7b72=Ta5d6ff"Ta5d6ffaddHubTa5d6ff"Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffspace-y-1.5Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3label Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffblock text-sm font-semibold text-sem-fg-secondaryTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{
Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.hub_hashTa5d6ff"Tb4b4b4)
Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3labelTff7b72>
Tff7b72<Te6edf3input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"Ta5d6ffaddHubForm.hub_hashTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6fftextTa5d6ff"
Tff7b72:Te6edf3placeholderTff7b72=Ta5d6ff"Ta5d6ff$t('relay_chat.hub_hash_placeholder')Ta5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffinput-field font-monoTa5d6ff"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffspace-y-1.5Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3label Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffblock text-sm font-semibold text-sem-fg-secondaryTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{
Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.hub_nameTa5d6ff"Tb4b4b4)
Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3labelTff7b72>
Tff7b72<Te6edf3input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"Ta5d6ffaddHubForm.nameTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6fftextTa5d6ff"
Tff7b72:Te6edf3placeholderTff7b72=Ta5d6ff"Ta5d6ff$t('relay_chat.hub_name_placeholder')Ta5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffinput-fieldTa5d6ff"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffrounded-lg border border-sem-border/70Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3button
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex w-full items-center gap-2 px-3 py-2 text-left text-sm font-medium text-sem-fg-secondary transition-colors hover:bg-sem-surface/40Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffaddHubAdvancedOpen = !addHubAdvancedOpenTa5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon
Tff7b72:Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffaddHubAdvancedOpen ? 'chevron-down' : 'chevron-right'Ta5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-4 shrink-0Ta5d6ff"
Tff7b72/Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.advancedTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Te6edf3div
Te6edf3vTff7b72-Te6edf3showTff7b72=Ta5d6ff"Ta5d6ffaddHubAdvancedOpenTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffspace-y-1.5 border-t border-sem-border/70 px-3 py-3Ta5d6ff"
Tff7b72>
Tff7b72<Te6edf3label Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffblock text-sm font-semibold text-sem-fg-secondaryTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{
Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.dest_nameTa5d6ff"Tb4b4b4)
Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3labelTff7b72>
Tff7b72<Te6edf3input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"Ta5d6ffaddHubForm.dest_nameTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6fftextTa5d6ff"
Te6edf3placeholderTff7b72=Ta5d6ff"Ta5d6ffrrc.hubTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffinput-field font-monoTa5d6ff"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex justify-end gap-2 pt-1Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3button Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff" Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffbtnSecondaryTa5d6ff" Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffshowAddHub = falseTa5d6ff"Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffcommon.cancelTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Te6edf3button Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffsubmitTa5d6ff" Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffbtnPrimaryTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.add_hubTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3formTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>

Tff7b72<Tff7b72!Tff7b72-Tff7b72- Te6edf3hub Te6edf3settings Te6edf3dialog Tff7b72-Tff7b72-Tff7b72>
Tff7b72<Te6edf3div
Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ffshowSettingsTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6fffixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4Ta5d6ff"
Tb4b4b4@Te6edf3clickTb4b4b4.Tffa657selfTff7b72=Ta5d6ff"Ta5d6ffshowSettings = falseTa5d6ff"
Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffw-full max-w-md rounded-2xl border border-sem-border-card bg-sem-surface p-5 shadow-xlTa5d6ff"Tff7b72>
Tff7b72<Te6edf3h2 Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffmb-4 text-lg font-semiboldTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.settingsTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3h2Tff7b72>
Tff7b72<Te6edf3form Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffspace-y-4Ta5d6ff" Tb4b4b4@Te6edf3submitTb4b4b4.Te6edf3preventTff7b72=Ta5d6ff"Ta5d6ffsaveSettingsTa5d6ff"Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffspace-y-2Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3label Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffblock text-sm font-semibold text-sem-fg-secondaryTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{
Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.hub_iconTa5d6ff"Tb4b4b4)
Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3labelTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex items-center gap-3Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3div
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex size-12 shrink-0 items-center justify-center rounded-xl border border-sem-border bg-sem-canvasTa5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon
Tff7b72:Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffsettingsHubIconPreviewTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-7Ta5d6ff"
Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsettingsHubStatusIconClassTa5d6ff"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex min-w-0 flex-1 flex-wrap gap-2Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3button
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff"
Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ff[btnSecondary, '!py-1.5 !text-xs']Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffopenIconPickerTa5d6ff"
Tff7b72>
Tff7b72<Te6edf3MaterialDesignIcon Te6edf3iconTff7b72-Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffimage-edit-outlineTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsize-4Ta5d6ff" Tff7b72/Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.hub_icon_chooseTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Te6edf3button
Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ffsettingsForm.hub_iconTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6fftext-xs text-sem-accent hover:underlineTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffsettingsForm.hub_icon = nullTa5d6ff"
Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.hub_icon_reset_defaultTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffspace-y-1.5Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3label Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffblock text-sm font-semibold text-sem-fg-secondaryTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{
Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.hub_display_nameTa5d6ff"Tb4b4b4)
Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3labelTff7b72>
Tff7b72<Te6edf3input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"Ta5d6ffsettingsForm.custom_nameTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6fftextTa5d6ff"
Tff7b72:Te6edf3placeholderTff7b72=Ta5d6ff"Ta5d6ffsettingsForm.default_nameTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffinput-fieldTa5d6ff"
Tff7b72/Tff7b72>
Tff7b72<Te6edf3button
Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ffsettingsForm.has_custom_nameTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6fftext-xs text-sem-accent hover:underlineTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffsettingsForm.custom_name = ''Ta5d6ff"
Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.revert_hub_nameTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3label Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsetting-toggle flex items-start gap-3Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3Toggle Tffa657idTff7b72=Ta5d6ff"Ta5d6ffrrc-auto-reconnectTa5d6ff" Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"Ta5d6ffsettingsForm.auto_reconnectTa5d6ff" Tff7b72/Tff7b72>
Tff7b72<Te6edf3span Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffmin-w-0 text-smTa5d6ff"Tff7b72>
Tff7b72<Te6edf3span Tff7b72classTff7b72=Ta5d6ff"Ta5d6fffont-medium text-sem-fgTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.auto_reconnectTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Tff7b72/Te6edf3labelTff7b72>
Tff7b72<Te6edf3label Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsetting-toggle flex items-start gap-3Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3Toggle Tffa657idTff7b72=Ta5d6ff"Ta5d6ffrrc-auto-listTa5d6ff" Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"Ta5d6ffsettingsForm.auto_listTa5d6ff" Tff7b72/Tff7b72>
Tff7b72<Te6edf3span Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffmin-w-0 text-smTa5d6ff"Tff7b72>
Tff7b72<Te6edf3span Tff7b72classTff7b72=Ta5d6ff"Ta5d6fffont-medium text-sem-fgTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.auto_listTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Tff7b72/Te6edf3labelTff7b72>
Tff7b72<Te6edf3label Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsetting-toggle flex items-start gap-3Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3Toggle Tffa657idTff7b72=Ta5d6ff"Ta5d6ffrrc-auto-whoTa5d6ff" Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"Ta5d6ffsettingsForm.auto_whoTa5d6ff" Tff7b72/Tff7b72>
Tff7b72<Te6edf3span Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffmin-w-0 text-smTa5d6ff"Tff7b72>
Tff7b72<Te6edf3span Tff7b72classTff7b72=Ta5d6ff"Ta5d6fffont-medium text-sem-fgTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.auto_whoTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Tff7b72/Te6edf3labelTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffspace-y-1.5Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3label Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffblock text-sm font-semibold text-sem-fg-secondaryTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{
Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.nicknameTa5d6ff"Tb4b4b4)
Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3labelTff7b72>
Tff7b72<Te6edf3input
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"Ta5d6ffsettingsForm.nickTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6fftextTa5d6ff"
Tff7b72:Te6edf3placeholderTff7b72=Ta5d6ff"Ta5d6ff$t('relay_chat.nickname_placeholder')Ta5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffinput-fieldTa5d6ff"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffflex justify-end gap-2 pt-1Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3button Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffbuttonTa5d6ff" Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffbtnSecondaryTa5d6ff" Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffshowSettings = falseTa5d6ff"Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffcommon.cancelTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Te6edf3button Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffsubmitTa5d6ff" Tff7b72:Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffbtnPrimaryTa5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.saveTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3formTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>

Tff7b72<Te6edf3MdiIconPickerModal
Tff7b72:Te6edf3openTff7b72=Ta5d6ff"Ta5d6ffshowIconPickerTa5d6ff"
Tff7b72:Te6edf3selectedTff7b72-Te6edf3iconTff7b72=Ta5d6ff"Ta5d6ffsettingsForm.hub_iconTa5d6ff"
Tff7b72:Te6edf3previewTff7b72-Te6edf3iconTff7b72-Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffsettingsHubStatusIconClassTa5d6ff"
Tb4b4b4@Te6edf3closeTff7b72=Ta5d6ff"Ta5d6ffshowIconPicker = falseTa5d6ff"
Tb4b4b4@Te6edf3selectTff7b72=Ta5d6ff"Ta5d6ffonHubIconPickedTa5d6ff"
Tff7b72/Tff7b72>

Tff7b72<Te6edf3ContextMenuPanel
Te6edf3vTff7b72-Te6edf3clickTff7b72-Te6edf3outsideTff7b72=Ta5d6ff"Ta5d6ff{ handler: closeSidebarMenu, capture: true }Ta5d6ff"
Tff7b72:Te6edf3showTff7b72=Ta5d6ff"Ta5d6ffsidebarMenu.showTa5d6ff"
Tff7b72:Te6edf3xTff7b72=Ta5d6ff"Ta5d6ffsidebarMenu.xTa5d6ff"
Tff7b72:Te6edf3yTff7b72=Ta5d6ff"Ta5d6ffsidebarMenu.yTa5d6ff"
Tff7b72>
Tff7b72<Te6edf3ContextMenuItem Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ff!sidebarMenu.hubTa5d6ff" Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffopenAddHubFromMenuTa5d6ff"Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.ctx_add_hubTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3ContextMenuItemTff7b72>
Tff7b72<Te6edf3template Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ffsidebarMenu.hubTa5d6ff"Tff7b72>
Tff7b72<Te6edf3ContextMenuItem Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ff!sidebarMenu.roomTa5d6ff" Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6fffocusJoinRoomFromMenuTa5d6ff"Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.ctx_add_roomTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3ContextMenuItemTff7b72>
Tff7b72<Te6edf3ContextMenuItem Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ff!sidebarMenu.room && !sidebarMenu.hub.connectedTa5d6ff" Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffconnectHubFromMenuTa5d6ff"Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.ctx_connect_hubTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3ContextMenuItemTff7b72>
Tff7b72<Te6edf3ContextMenuItem
Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ff!sidebarMenu.room && sidebarMenu.hub.connectedTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffdisconnectHubFromMenuTa5d6ff"
Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.ctx_disconnect_hubTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3ContextMenuItemTff7b72>
Tff7b72<Te6edf3ContextMenuItem Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffcopyHubAddressFromMenuTa5d6ff"Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.ctx_copy_hub_addressTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3ContextMenuItemTff7b72>
Tff7b72<Te6edf3ContextMenuItem Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffshareHubFromMenuTa5d6ff"Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3sidebarMenuTb4b4b4.Te6edf3room Tff7b72? Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.ctx_share_roomTa5d6ff"Tb4b4b4) Tff7b72: Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.ctx_share_hubTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3ContextMenuItemTff7b72>
Tff7b72<Te6edf3ContextMenuItem Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffopenSettingsFromMenuTa5d6ff"Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.ctx_hub_settingsTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3ContextMenuItemTff7b72>
Tff7b72<Te6edf3ContextMenuItem Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ffsidebarMenu.roomTa5d6ff" Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffleaveRoomFromMenuTa5d6ff"Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.ctx_leave_roomTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3ContextMenuItemTff7b72>
Tff7b72<Te6edf3ContextMenuDivider Tff7b72/Tff7b72>
Tff7b72<Te6edf3ContextMenuItem Tff7b72classTff7b72=Ta5d6ff"Ta5d6fftext-sem-dangerTa5d6ff" Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffremoveHubFromMenuTa5d6ff"Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.ctx_remove_hubTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3ContextMenuItemTff7b72>
Tff7b72<Tff7b72/Te6edf3templateTff7b72>
Tff7b72<Tff7b72/Te6edf3ContextMenuPanelTff7b72>

Tff7b72<Te6edf3ContextMenuPanel
Te6edf3vTff7b72-Te6edf3clickTff7b72-Te6edf3outsideTff7b72=Ta5d6ff"Ta5d6ff{ handler: closeMessageMenu, capture: true }Ta5d6ff"
Tff7b72:Te6edf3showTff7b72=Ta5d6ff"Ta5d6ffmessageMenu.showTa5d6ff"
Tff7b72:Te6edf3xTff7b72=Ta5d6ff"Ta5d6ffmessageMenu.xTa5d6ff"
Tff7b72:Te6edf3yTff7b72=Ta5d6ff"Ta5d6ffmessageMenu.yTa5d6ff"
Tff7b72>
Tff7b72<Te6edf3ContextMenuItem
Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ffmessageMenu.msg && canQuoteMessage(messageMenu.msg)Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffreplyWithQuoteFromMenuTa5d6ff"
Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.ctx_reply_quoteTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3ContextMenuItemTff7b72>
Tff7b72<Te6edf3ContextMenuItem
Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ffmessageMenu.msg && canMentionMessageAuthor(messageMenu.msg)Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffmentionUserFromMenuTa5d6ff"
Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.ctx_mention_userTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3ContextMenuItemTff7b72>
Tff7b72<Te6edf3ContextMenuItem Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ffmessageMenu.msg && messageMenu.msg.textTa5d6ff" Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffcopyMessageFromMenuTa5d6ff"Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.ctx_copy_messageTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3ContextMenuItemTff7b72>
Tff7b72<Te6edf3template Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ffmessageMenu.msg && canModerateSelectedHubTa5d6ff"Tff7b72>
Tff7b72<Te6edf3ContextMenuDivider Tff7b72/Tff7b72>
Tff7b72<Te6edf3ContextMenuItem Tff7b72classTff7b72=Ta5d6ff"Ta5d6fftext-sem-dangerTa5d6ff" Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffkickUserFromMenuTa5d6ff"Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.ctx_kick_userTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3ContextMenuItemTff7b72>
Tff7b72<Te6edf3ContextMenuItem Tff7b72classTff7b72=Ta5d6ff"Ta5d6fftext-sem-dangerTa5d6ff" Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Ta5d6ffbanUserFromMenuTa5d6ff"Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.ctx_ban_userTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3ContextMenuItemTff7b72>
Tff7b72<Tff7b72/Te6edf3templateTff7b72>
Tff7b72<Tff7b72/Te6edf3ContextMenuPanelTff7b72>
Tff7b72<Tff7b72/Te6edf3templateTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3templateTff7b72>

Tff7b72<Te6edf3scriptTff7b72>
Te6edf3import Tb4b4b4{ Te6edf3nextTick Tb4b4b4} Te6edf3from Ta5d6ff"Ta5d6ffvueTa5d6ff"Tb4b4b4;
Te6edf3import Te6edf3WebSocketConnection Te6edf3from Ta5d6ff"Ta5d6ff../../js/WebSocketConnectionTa5d6ff"Tb4b4b4;
Te6edf3import Te6edf3GlobalState Te6edf3from Ta5d6ff"Ta5d6ff../../js/GlobalStateTa5d6ff"Tb4b4b4;
Te6edf3import Te6edf3DialogUtils Te6edf3from Ta5d6ff"Ta5d6ff../../js/DialogUtilsTa5d6ff"Tb4b4b4;
Te6edf3import Te6edf3ToastUtils Te6edf3from Ta5d6ff"Ta5d6ff../../js/ToastUtilsTa5d6ff"Tb4b4b4;
Te6edf3import Te6edf3Utils Te6edf3from Ta5d6ff"Ta5d6ff../../js/UtilsTa5d6ff"Tb4b4b4;
Te6edf3import Tb4b4b4{ Te6edf3DEFAULT_RRC_HUB_ICONTb4b4b4, Te6edf3normalizeMdiIconName Tb4b4b4} Te6edf3from Ta5d6ff"Ta5d6ff../../js/mdiIconNames.jsTa5d6ff"Tb4b4b4;
Te6edf3import Tb4b4b4{ Te6edf3countRelayMentions Tb4b4b4} Te6edf3from Ta5d6ff"Ta5d6ff../../js/relayMentionCount.jsTa5d6ff"Tb4b4b4;
Te6edf3import Tb4b4b4{ Te6edf3filterRelayMembersTb4b4b4, Te6edf3filterRelayMessages Tb4b4b4} Te6edf3from Ta5d6ff"Ta5d6ff../../js/relayMessageSearch.jsTa5d6ff"Tb4b4b4;
Te6edf3import Tb4b4b4{
Te6edf3buildRelayMessageTimelineTb4b4b4,
Te6edf3mergeRelayMessagesTb4b4b4,
Te6edf3relayMessageAlreadyPresentTb4b4b4,
Te6edf3relayMessageKeyTb4b4b4,
Tb4b4b4} Te6edf3from Ta5d6ff"Ta5d6ff../../js/relayMessageTimeline.jsTa5d6ff"Tb4b4b4;
Te6edf3import Tb4b4b4{ Te6edf3MIN_VIRTUAL_RELAY_ENTRIES Tb4b4b4} Te6edf3from Ta5d6ff"Ta5d6ff./relayMessageListVirtual.jsTa5d6ff"Tb4b4b4;
Te6edf3import Tb4b4b4{ Te6edf3loadRelayLayoutTb4b4b4, Te6edf3saveRelayLayout Tb4b4b4} Te6edf3from Ta5d6ff"Ta5d6ff../../js/relayLayoutStore.jsTa5d6ff"Tb4b4b4;
Te6edf3import Tb4b4b4{ Te6edf3loadFeatureSidebarCollapsedTb4b4b4, Te6edf3saveFeatureSidebarCollapsed Tb4b4b4} Te6edf3from Ta5d6ff"Ta5d6ff../../js/browserLayoutStore.jsTa5d6ff"Tb4b4b4;
Te6edf3import Tb4b4b4{ Te6edf3RELAY_HOST_MODAL_OVERLAYTb4b4b4, Te6edf3RELAY_HOST_MODAL_PANEL_COMPACT Tb4b4b4} Te6edf3from Ta5d6ff"Ta5d6ff../../js/relayHostModalClasses.jsTa5d6ff"Tb4b4b4;
Te6edf3import Tb4b4b4{ Te6edf3buildRelayShareMessage Tb4b4b4} Te6edf3from Ta5d6ff"Ta5d6ff../../js/relayLinkUtils.jsTa5d6ff"Tb4b4b4;
Te6edf3import Tb4b4b4{ Te6edf3handleRichHtmlLinkClick Tb4b4b4} Te6edf3from Ta5d6ff"Ta5d6ff../../js/NomadRichHtmlLinks.jsTa5d6ff"Tb4b4b4;
Te6edf3import Te6edf3MarkdownRenderer Te6edf3from Ta5d6ff"Ta5d6ff../../js/MarkdownRenderer.jsTa5d6ff"Tb4b4b4;
Te6edf3import Tb4b4b4{
Te6edf3ANNOUNCE_SLIDER_POS_MAXTb4b4b4,
Te6edf3announceMinutesToSliderPosTb4b4b4,
Te6edf3announceSliderPosToMinutesTb4b4b4,
Tb4b4b4} Te6edf3from Ta5d6ff"Ta5d6ff../../js/announceIntervalSliderMap.jsTa5d6ff"Tb4b4b4;
Te6edf3import Te6edf3MaterialDesignIcon Te6edf3from Ta5d6ff"Ta5d6ff../MaterialDesignIcon.vueTa5d6ff"Tb4b4b4;
Te6edf3import Te6edf3MdiIconPickerModal Te6edf3from Ta5d6ff"Ta5d6ff../MdiIconPickerModal.vueTa5d6ff"Tb4b4b4;
Te6edf3import Te6edf3RelayHostModerationPage Te6edf3from Ta5d6ff"Ta5d6ff./RelayHostModerationPage.vueTa5d6ff"Tb4b4b4;
Te6edf3import Te6edf3RelayMessageEntry Te6edf3from Ta5d6ff"Ta5d6ff./RelayMessageEntry.vueTa5d6ff"Tb4b4b4;
Te6edf3import Te6edf3RelayMessageListVirtual Te6edf3from Ta5d6ff"Ta5d6ff./RelayMessageListVirtual.vueTa5d6ff"Tb4b4b4;
Te6edf3import Te6edf3ContextMenuPanel Te6edf3from Ta5d6ff"Ta5d6ff../contextmenu/ContextMenuPanel.vueTa5d6ff"Tb4b4b4;
Te6edf3import Te6edf3ContextMenuItem Te6edf3from Ta5d6ff"Ta5d6ff../contextmenu/ContextMenuItem.vueTa5d6ff"Tb4b4b4;
Te6edf3import Te6edf3ContextMenuDivider Te6edf3from Ta5d6ff"Ta5d6ff../contextmenu/ContextMenuDivider.vueTa5d6ff"Tb4b4b4;
Te6edf3import Te6edf3Toggle Te6edf3from Ta5d6ff"Ta5d6ff../forms/Toggle.vueTa5d6ff"Tb4b4b4;

Tff7b72const Te6edf3BTN_PRIMARY Tff7b72=
Ta5d6ff"Ta5d6ffinline-flex items-center justify-center gap-1.5 rounded-lg bg-sem-action-primary px-3 py-2 text-sm font-semibold text-white transition hover:bg-sem-action-primary-hover disabled:opacity-50 disabled:cursor-not-allowedTa5d6ff"Tb4b4b4;
Tff7b72const Te6edf3BTN_SECONDARY Tff7b72=
Ta5d6ff"Ta5d6ffinline-flex items-center justify-center gap-1.5 rounded-lg border border-sem-border bg-sem-surface-muted px-3 py-2 text-sm font-medium text-sem-fg transition hover:bg-sem-surface-raised disabled:opacity-50 disabled:cursor-not-allowedTa5d6ff"Tb4b4b4;
Tff7b72const Te6edf3BTN_ICON Tff7b72=
Ta5d6ff"Ta5d6ffinline-flex items-center justify-center rounded-lg border border-sem-border bg-sem-canvas p-2 text-sem-fg transition hover:bg-sem-surface/60 dark:hover:bg-sem-surface/30 disabled:opacity-50 disabled:cursor-not-allowedTa5d6ff"Tb4b4b4;
Tff7b72const Te6edf3BTN_ICON_SM Tff7b72=
Ta5d6ff"Ta5d6ffinline-flex items-center justify-center rounded-lg border border-sem-border bg-sem-canvas p-1.5 text-sem-fg transition hover:bg-sem-surface/60 dark:hover:bg-sem-surface/30Ta5d6ff"Tb4b4b4;
Tff7b72const Te6edf3BTN_DANGER Tff7b72=
Ta5d6ff"Ta5d6ffinline-flex items-center justify-center rounded-lg border border-sem-border bg-sem-canvas p-2 text-sem-fg transition hover:border-sem-danger hover:text-sem-danger hover:bg-sem-danger/10 disabled:opacity-50 disabled:cursor-not-allowedTa5d6ff"Tb4b4b4;
Tff7b72const Te6edf3BTN_DANGER_SM Tff7b72=
Ta5d6ff"Ta5d6ffinline-flex items-center justify-center rounded-lg border border-sem-border bg-sem-canvas p-1.5 text-sem-fg transition hover:border-sem-danger hover:text-sem-danger hover:bg-sem-danger/10Ta5d6ff"Tb4b4b4;

Tff7b72const Te6edf3NAME_COLORS Tff7b72= Tb4b4b4[Ta5d6ff"Ta5d6ff#ef4444Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ff#f97316Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ff#eab308Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ff#22c55eTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ff#14b8a6Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ff#3b82f6Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ff#8b5cf6Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ff#ec4899Ta5d6ff"Tb4b4b4]Tb4b4b4;
Tff7b72const Te6edf3RELAY_MESSAGES_INITIAL_PAGE_SIZE Tff7b72= T79c0ff150Tb4b4b4;
Tff7b72const Te6edf3RELAY_MESSAGES_PREVIOUS_PAGE_SIZE Tff7b72= T79c0ff100Tb4b4b4;
Tff7b72const Te6edf3LOAD_PREVIOUS_SCROLL_EDGE_PX Tff7b72= T79c0ff200Tb4b4b4;
Tff7b72const Te6edf3DEFAULT_ANNOUNCE_INTERVAL_SECONDS Tff7b72= T79c0ff900Tb4b4b4;
Tff7b72const Te6edf3ANNOUNCE_INTERVAL_MIN_MINUTES Tff7b72= T79c0ff1Tb4b4b4;
Tff7b72const Te6edf3ANNOUNCE_INTERVAL_MAX_MINUTES Tff7b72= T79c0ff1440Tb4b4b4;

Te6edf3function Td2a8ffclampAnnounceIntervalMinutesTb4b4b4(Te6edf3valueTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3n Tff7b72= Te6edf3NumberTb4b4b4.Te6edf3parseIntTb4b4b4(Te6edf3StringTb4b4b4(Te6edf3value Tff7b72?Tff7b72? Ta5d6ff"Ta5d6ff"Tb4b4b4)Tb4b4b4, T79c0ff10Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3NumberTb4b4b4.Te6edf3isFiniteTb4b4b4(Te6edf3nTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3MathTb4b4b4.Te6edf3roundTb4b4b4(Te6edf3DEFAULT_ANNOUNCE_INTERVAL_SECONDS Tff7b72/ T79c0ff60Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3MathTb4b4b4.Te6edf3maxTb4b4b4(Te6edf3ANNOUNCE_INTERVAL_MIN_MINUTESTb4b4b4, Te6edf3MathTb4b4b4.Te6edf3minTb4b4b4(Te6edf3ANNOUNCE_INTERVAL_MAX_MINUTESTb4b4b4, Te6edf3nTb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}

Te6edf3function Td2a8ffsecondsToAnnounceMinutesTb4b4b4(Te6edf3secondsTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3s Tff7b72= Te6edf3NumberTb4b4b4(Te6edf3secondsTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3NumberTb4b4b4.Te6edf3isFiniteTb4b4b4(Te6edf3sTb4b4b4) Tff7b72|Tff7b72| Te6edf3s Tff7b72<Tff7b72= T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3MathTb4b4b4.Te6edf3roundTb4b4b4(Te6edf3DEFAULT_ANNOUNCE_INTERVAL_SECONDS Tff7b72/ T79c0ff60Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3clampAnnounceIntervalMinutesTb4b4b4(Te6edf3MathTb4b4b4.Te6edf3roundTb4b4b4(Te6edf3s Tff7b72/ T79c0ff60Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}

Te6edf3export Tff7b72default Tb4b4b4{
Te6edf3nameTb4b4b4: Ta5d6ff"Ta5d6ffRelayChatPageTa5d6ff"Tb4b4b4,
Te6edf3componentsTb4b4b4: Tb4b4b4{
Te6edf3MaterialDesignIconTb4b4b4,
Te6edf3MdiIconPickerModalTb4b4b4,
Te6edf3RelayHostModerationPageTb4b4b4,
Te6edf3RelayMessageEntryTb4b4b4,
Te6edf3RelayMessageListVirtualTb4b4b4,
Te6edf3ContextMenuPanelTb4b4b4,
Te6edf3ContextMenuItemTb4b4b4,
Te6edf3ContextMenuDividerTb4b4b4,
Te6edf3ToggleTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3beforeRouteLeaveTb4b4b4(Te6edf3toTb4b4b4, Te6edf3fromTb4b4b4, Te6edf3nextTb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3persistRelayLayoutTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3nextTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3propsTb4b4b4: Tb4b4b4{
Te6edf3hubHashTb4b4b4: Tb4b4b4{ Te6edf3typeTff7b72: Te6edf3StringTb4b4b4, Tff7b72defaultTff7b72: Te6edf3null Tb4b4b4}Tb4b4b4,
Te6edf3roomTb4b4b4: Tb4b4b4{ Te6edf3typeTff7b72: Te6edf3StringTb4b4b4, Tff7b72defaultTff7b72: Te6edf3null Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3dataTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4{
Te6edf3RELAY_HOST_MODAL_OVERLAYTb4b4b4,
Te6edf3RELAY_HOST_MODAL_PANEL_COMPACTTb4b4b4,
Te6edf3btnPrimaryTb4b4b4: Te6edf3BTN_PRIMARYTb4b4b4,
Te6edf3btnSecondaryTb4b4b4: Te6edf3BTN_SECONDARYTb4b4b4,
Te6edf3btnIconTb4b4b4: Te6edf3BTN_ICONTb4b4b4,
Te6edf3btnIconSmTb4b4b4: Te6edf3BTN_ICON_SMTb4b4b4,
Te6edf3btnDangerTb4b4b4: Te6edf3BTN_DANGERTb4b4b4,
Te6edf3btnDangerSmTb4b4b4: Te6edf3BTN_DANGER_SMTb4b4b4,
Te6edf3tabsTb4b4b4: Tb4b4b4[
Tb4b4b4{ Tffa657idTff7b72: Ta5d6ff"Ta5d6ffchatTa5d6ff"Tb4b4b4, Te6edf3labelTff7b72: Ta5d6ff"Ta5d6ffrelay_chat.tab_connectTa5d6ff"Tb4b4b4, Te6edf3iconTff7b72: Ta5d6ff"Ta5d6ffforumTa5d6ff" Tb4b4b4}Tb4b4b4,
Tb4b4b4{ Tffa657idTff7b72: Ta5d6ff"Ta5d6ffdiscoveryTa5d6ff"Tb4b4b4, Te6edf3labelTff7b72: Ta5d6ff"Ta5d6ffrelay_chat.tab_discoveryTa5d6ff"Tb4b4b4, Te6edf3iconTff7b72: Ta5d6ff"Ta5d6ffradarTa5d6ff" Tb4b4b4}Tb4b4b4,
Tb4b4b4{ Tffa657idTff7b72: Ta5d6ff"Ta5d6ffhostTa5d6ff"Tb4b4b4, Te6edf3labelTff7b72: Ta5d6ff"Ta5d6ffrelay_chat.tab_hostTa5d6ff"Tb4b4b4, Te6edf3iconTff7b72: Ta5d6ff"Ta5d6ffserver-networkTa5d6ff" Tb4b4b4}Tb4b4b4,
Tb4b4b4]Tb4b4b4,
Te6edf3viewTb4b4b4: Ta5d6ff"Ta5d6ffchatTa5d6ff"Tb4b4b4,
Te6edf3discoveredTb4b4b4: Tb4b4b4[Tb4b4b4]Tb4b4b4,
Te6edf3discoverySearchTb4b4b4: Ta5d6ff"Ta5d6ff"Tb4b4b4,
Te6edf3discoverySearchTimerTb4b4b4: Te6edf3nullTb4b4b4,
Te6edf3discoveryLoadingTb4b4b4: Tffa657falseTb4b4b4,
Te6edf3serverHubsTb4b4b4: Tb4b4b4[Tb4b4b4]Tb4b4b4,
Te6edf3roomFormsTb4b4b4: Tb4b4b4{Tb4b4b4}Tb4b4b4,
Te6edf3announceSliderPosMaxTb4b4b4: Te6edf3ANNOUNCE_SLIDER_POS_MAXTb4b4b4,
Te6edf3showCreateHubTb4b4b4: Tffa657falseTb4b4b4,
Te6edf3createHubFormTb4b4b4: Tb4b4b4{
Te6edf3nameTb4b4b4: Ta5d6ff"Ta5d6ff"Tb4b4b4,
Te6edf3greetingTb4b4b4: Ta5d6ff"Ta5d6ff"Tb4b4b4,
Te6edf3announceTb4b4b4: Tffa657trueTb4b4b4,
Te6edf3announce_interval_secondsTb4b4b4: Te6edf3DEFAULT_ANNOUNCE_INTERVAL_SECONDSTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3createAnnounceIntervalDraftTb4b4b4: Te6edf3nullTb4b4b4,
Te6edf3showHostHubSettingsTb4b4b4: Tffa657falseTb4b4b4,
Te6edf3hostHubSettingsIdTb4b4b4: Te6edf3nullTb4b4b4,
Te6edf3hostHubSettingsFormTb4b4b4: Tb4b4b4{
Te6edf3nameTb4b4b4: Ta5d6ff"Ta5d6ff"Tb4b4b4,
Te6edf3announceTb4b4b4: Tffa657trueTb4b4b4,
Te6edf3announce_interval_secondsTb4b4b4: Te6edf3DEFAULT_ANNOUNCE_INTERVAL_SECONDSTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3hostAnnounceIntervalDraftTb4b4b4: Te6edf3nullTb4b4b4,
Te6edf3hubsTb4b4b4: Tb4b4b4[Tb4b4b4]Tb4b4b4,
Te6edf3selectedHubHashTb4b4b4: Te6edf3nullTb4b4b4,
Te6edf3selectedRoomTb4b4b4: Te6edf3nullTb4b4b4,
Te6edf3expandedHubsTb4b4b4: Tb4b4b4{Tb4b4b4}Tb4b4b4,
Te6edf3availableRoomsExpandedTb4b4b4: Tb4b4b4{Tb4b4b4}Tb4b4b4,
Te6edf3hostUptimeTickTb4b4b4: T79c0ff0Tb4b4b4,
Te6edf3hostUptimeAnchorMsTb4b4b4: T79c0ff0Tb4b4b4,
Te6edf3hostUptimeTimerTb4b4b4: Te6edf3nullTb4b4b4,
Te6edf3expandedPresenceGroupsTb4b4b4: Tb4b4b4{Tb4b4b4}Tb4b4b4,
Te6edf3relaySidebarCollapsedTb4b4b4: Te6edf3loadFeatureSidebarCollapsedTb4b4b4(Ta5d6ff"Ta5d6ffrelayChatTa5d6ff"Tb4b4b4) Tff7b72?Tff7b72? Tffa657falseTb4b4b4,
Te6edf3smUpTb4b4b4: Tffa657falseTb4b4b4,
Te6edf3smMqTb4b4b4: Te6edf3nullTb4b4b4,
Te6edf3showMembersTb4b4b4: Tffa657falseTb4b4b4,
Te6edf3showSearchTb4b4b4: Tffa657falseTb4b4b4,
Te6edf3messageSearchTb4b4b4: Ta5d6ff"Ta5d6ff"Tb4b4b4,
Te6edf3membersSearchTb4b4b4: Ta5d6ff"Ta5d6ff"Tb4b4b4,
Te6edf3dragHubIndexTb4b4b4: Te6edf3nullTb4b4b4,
Te6edf3dragRoomHubHashTb4b4b4: Te6edf3nullTb4b4b4,
Te6edf3dragRoomIndexTb4b4b4: Te6edf3nullTb4b4b4,
Te6edf3sidebarMenuTb4b4b4: Tb4b4b4{
Te6edf3showTb4b4b4: Tffa657falseTb4b4b4,
Te6edf3xTb4b4b4: T79c0ff0Tb4b4b4,
Te6edf3yTb4b4b4: T79c0ff0Tb4b4b4,
Te6edf3hubTb4b4b4: Te6edf3nullTb4b4b4,
Te6edf3roomTb4b4b4: Te6edf3nullTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3messageMenuTb4b4b4: Tb4b4b4{
Te6edf3showTb4b4b4: Tffa657falseTb4b4b4,
Te6edf3xTb4b4b4: T79c0ff0Tb4b4b4,
Te6edf3yTb4b4b4: T79c0ff0Tb4b4b4,
Te6edf3msgTb4b4b4: Te6edf3nullTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3messagesTb4b4b4: Tb4b4b4[Tb4b4b4]Tb4b4b4,
Te6edf3membersTb4b4b4: Tb4b4b4[Tb4b4b4]Tb4b4b4,
Te6edf3hasMorePreviousTb4b4b4: Tffa657falseTb4b4b4,
Te6edf3isLoadingPreviousTb4b4b4: Tffa657falseTb4b4b4,
Te6edf3loadPreviousInFlightTb4b4b4: T79c0ff0Tb4b4b4,
Te6edf3roomSelectSequenceTb4b4b4: T79c0ff0Tb4b4b4,
Te6edf3composerTb4b4b4: Ta5d6ff"Ta5d6ff"Tb4b4b4,
Te6edf3sendingTb4b4b4: Tffa657falseTb4b4b4,
Te6edf3joinRoomNameTb4b4b4: Ta5d6ff"Ta5d6ff"Tb4b4b4,
Te6edf3joinRoomKeyTb4b4b4: Ta5d6ff"Ta5d6ff"Tb4b4b4,
Te6edf3badKeyPromptInFlightTb4b4b4: Te6edf3nullTb4b4b4,
Te6edf3showAddHubTb4b4b4: Tffa657falseTb4b4b4,
Te6edf3addHubAdvancedOpenTb4b4b4: Tffa657falseTb4b4b4,
Te6edf3addHubFormTb4b4b4: Tb4b4b4{
Te6edf3hub_hashTb4b4b4: Ta5d6ff"Ta5d6ff"Tb4b4b4,
Te6edf3nameTb4b4b4: Ta5d6ff"Ta5d6ff"Tb4b4b4,
Te6edf3dest_nameTb4b4b4: Ta5d6ff"Ta5d6ff"Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3showSettingsTb4b4b4: Tffa657falseTb4b4b4,
Te6edf3showIconPickerTb4b4b4: Tffa657falseTb4b4b4,
Te6edf3settingsHubHashTb4b4b4: Te6edf3nullTb4b4b4,
Te6edf3settingsFormTb4b4b4: Tb4b4b4{
Te6edf3auto_reconnectTb4b4b4: Tffa657trueTb4b4b4,
Te6edf3auto_listTb4b4b4: Tffa657trueTb4b4b4,
Te6edf3auto_whoTb4b4b4: Tffa657falseTb4b4b4,
Te6edf3nickTb4b4b4: Ta5d6ff"Ta5d6ff"Tb4b4b4,
Te6edf3custom_nameTb4b4b4: Ta5d6ff"Ta5d6ff"Tb4b4b4,
Te6edf3default_nameTb4b4b4: Ta5d6ff"Ta5d6ff"Tb4b4b4,
Te6edf3has_custom_nameTb4b4b4: Tffa657falseTb4b4b4,
Te6edf3hub_iconTb4b4b4: Te6edf3nullTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3hostModerationTb4b4b4: Tb4b4b4{
Te6edf3hubTb4b4b4: Te6edf3nullTb4b4b4,
Te6edf3tabTb4b4b4: Ta5d6ff"Ta5d6ffroomsTa5d6ff"Tb4b4b4,
Te6edf3roomTb4b4b4: Te6edf3nullTb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3computedTb4b4b4: Tb4b4b4{
Te6edf3rrcEnabledTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3GlobalStateTb4b4b4.Te6edf3configTff7b72?Tb4b4b4.Te6edf3rrc_enabled Tff7b72!Tff7b72=Tff7b72= Tffa657falseTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3showUnreadBadgesTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3GlobalStateTb4b4b4.Te6edf3configTff7b72?Tb4b4b4.Te6edf3rrc_unread_badges_enabled Tff7b72!Tff7b72=Tff7b72= Tffa657falseTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3isPopoutModeTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tffa657BooleanTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3$routeTff7b72?Tb4b4b4.Te6edf3metaTff7b72?Tb4b4b4.Te6edf3isPopoutTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3canModerateSelectedHubTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3thisTb4b4b4.Te6edf3selectedHubTb4b4b4) Tb4b4b4{
Tff7b72return Tffa657falseTb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3thisTb4b4b4.Te6edf3serverHubsTb4b4b4.Te6edf3someTb4b4b4(Tb4b4b4(Te6edf3sTb4b4b4) Tff7b72=Tff7b72> Te6edf3sTb4b4b4.Te6edf3running Tff7b72&Tff7b72& Te6edf3sTb4b4b4.Te6edf3dest_hash Tff7b72=Tff7b72=Tff7b72= Te6edf3thisTb4b4b4.Te6edf3selectedHubTb4b4b4.Te6edf3hub_hashTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3effectiveSidebarCollapsedTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3thisTb4b4b4.Te6edf3relaySidebarCollapsed Tff7b72&Tff7b72& Te6edf3thisTb4b4b4.Te6edf3smUp Tff7b72&Tff7b72& Tff7b72!Te6edf3thisTb4b4b4.Te6edf3isPopoutModeTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3selectedHubTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3thisTb4b4b4.Te6edf3hubsTb4b4b4.Te6edf3findTb4b4b4(Tb4b4b4(Te6edf3hubTb4b4b4) Tff7b72=Tff7b72> Te6edf3hubTb4b4b4.Te6edf3hub_hash Tff7b72=Tff7b72=Tff7b72= Te6edf3thisTb4b4b4.Te6edf3selectedHubHashTb4b4b4) Tff7b72|Tff7b72| Te6edf3nullTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3settingsHubTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3thisTb4b4b4.Te6edf3settingsHubHashTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3nullTb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3thisTb4b4b4.Te6edf3hubsTb4b4b4.Te6edf3findTb4b4b4(Tb4b4b4(Te6edf3hubTb4b4b4) Tff7b72=Tff7b72> Te6edf3hubTb4b4b4.Te6edf3hub_hash Tff7b72=Tff7b72=Tff7b72= Te6edf3thisTb4b4b4.Te6edf3settingsHubHashTb4b4b4) Tff7b72|Tff7b72| Te6edf3nullTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3settingsHubIconPreviewTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3normalizeMdiIconNameTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3settingsFormTb4b4b4.Te6edf3hub_iconTb4b4b4) Tff7b72|Tff7b72| Te6edf3DEFAULT_RRC_HUB_ICONTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3settingsHubStatusIconClassTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3status Tff7b72= Te6edf3thisTb4b4b4.Te6edf3settingsHubTff7b72?Tb4b4b4.Te6edf3status Tff7b72?Tff7b72? T79c0ff0Tb4b4b4;
Tff7b72return Te6edf3thisTb4b4b4.Te6edf3statusIconColorTb4b4b4(Te6edf3statusTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3createAnnounceIntervalMinutesTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3secondsToAnnounceMinutesTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3createHubFormTb4b4b4.Te6edf3announce_interval_secondsTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3createAnnounceIntervalSliderPosTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3announceMinutesToSliderPosTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3createAnnounceIntervalMinutesTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3createAnnounceIntervalMinutesShownTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3thisTb4b4b4.Te6edf3createAnnounceIntervalDraft Tff7b72!Tff7b72= Te6edf3nullTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3thisTb4b4b4.Te6edf3createAnnounceIntervalDraftTb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3StringTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3createAnnounceIntervalMinutesTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3hostAnnounceIntervalMinutesTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3secondsToAnnounceMinutesTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3hostHubSettingsFormTb4b4b4.Te6edf3announce_interval_secondsTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3hostAnnounceIntervalSliderPosTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3announceMinutesToSliderPosTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3hostAnnounceIntervalMinutesTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3hostAnnounceIntervalMinutesShownTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3thisTb4b4b4.Te6edf3hostAnnounceIntervalDraft Tff7b72!Tff7b72= Te6edf3nullTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3thisTb4b4b4.Te6edf3hostAnnounceIntervalDraftTb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3StringTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3hostAnnounceIntervalMinutesTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3messageTimelineTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3buildRelayMessageTimelineTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3messagesTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3relayChatPageSelfTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3thisTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3useVirtualMessageListTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3thisTb4b4b4.Te6edf3messageTimelineTb4b4b4.Te6edf3length Tff7b72< Te6edf3MIN_VIRTUAL_RELAY_ENTRIESTb4b4b4) Tb4b4b4{
Tff7b72return Tffa657falseTb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3GlobalStateTff7b72?Tb4b4b4.Te6edf3configTff7b72?Tb4b4b4.Te6edf3message_list_virtualization Tff7b72!Tff7b72=Tff7b72= Tffa657falseTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3oldestLoadedSeqTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3let Te6edf3minSeq Tff7b72= Te6edf3nullTb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72const Te6edf3msg Te6edf3of Te6edf3thisTb4b4b4.Te6edf3messagesTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3msgTb4b4b4.Te6edf3seq Tff7b72!Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ffnumberTa5d6ff"Tb4b4b4) Tb4b4b4{
Tff7b72continueTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3minSeq Tff7b72=Tff7b72=Tff7b72= Te6edf3null Tff7b72|Tff7b72| Te6edf3msgTb4b4b4.Te6edf3seq Tff7b72< Te6edf3minSeqTb4b4b4) Tb4b4b4{
Te6edf3minSeq Tff7b72= Te6edf3msgTb4b4b4.Te6edf3seqTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72return Te6edf3minSeqTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3searchResultsTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3filterRelayMessagesTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3messagesTb4b4b4, Te6edf3thisTb4b4b4.Te6edf3messageSearchTb4b4b4, Tb4b4b4(Te6edf3msgTb4b4b4) Tff7b72=Tff7b72> Te6edf3thisTb4b4b4.Te6edf3displayNameTb4b4b4(Te6edf3msgTb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3filteredOnlineMembersTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3filterRelayMembersTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3membersTb4b4b4, Te6edf3thisTb4b4b4.Te6edf3membersSearchTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3filteredOfflineMembersTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3filterRelayMembersTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3offlineMembersTb4b4b4, Te6edf3thisTb4b4b4.Te6edf3membersSearchTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3onlineMembersTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3thisTb4b4b4.Te6edf3membersTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3offlineMembersTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3onlineHashes Tff7b72= Te6edf3new Te6edf3SetTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3membersTb4b4b4.Te6edf3mapTb4b4b4(Tb4b4b4(Te6edf3mTb4b4b4) Tff7b72=Tff7b72> Te6edf3mTb4b4b4.Te6edf3hashTb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3seen Tff7b72= Te6edf3new Te6edf3MapTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72const Te6edf3msg Te6edf3of Te6edf3thisTb4b4b4.Te6edf3messagesTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3msgTb4b4b4.Te6edf3src Tff7b72|Tff7b72| Te6edf3onlineHashesTb4b4b4.Te6edf3hasTb4b4b4(Te6edf3msgTb4b4b4.Te6edf3srcTb4b4b4) Tff7b72|Tff7b72| Te6edf3seenTb4b4b4.Te6edf3hasTb4b4b4(Te6edf3msgTb4b4b4.Te6edf3srcTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72continueTb4b4b4;
Tb4b4b4}
Te6edf3seenTb4b4b4.Te6edf3setTb4b4b4(Te6edf3msgTb4b4b4.Te6edf3srcTb4b4b4, Tb4b4b4{ Te6edf3hashTff7b72: Te6edf3msgTb4b4b4.Te6edf3srcTb4b4b4, Te6edf3nameTff7b72: Te6edf3msgTb4b4b4.Te6edf3nick Tff7b72|Tff7b72| Te6edf3msgTb4b4b4.Te6edf3srcTb4b4b4.Te6edf3sliceTb4b4b4(T79c0ff0Tb4b4b4, T79c0ff12Tb4b4b4) Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3ArrayTb4b4b4.Te6edf3fromTb4b4b4(Te6edf3seenTb4b4b4.Te6edf3valuesTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3sortTb4b4b4(Tb4b4b4(Te6edf3aTb4b4b4, Te6edf3bTb4b4b4) Tff7b72=Tff7b72> Te6edf3aTb4b4b4.Te6edf3nameTb4b4b4.Te6edf3toLowerCaseTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3localeCompareTb4b4b4(Te6edf3bTb4b4b4.Te6edf3nameTb4b4b4.Te6edf3toLowerCaseTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3watchTb4b4b4: Tb4b4b4{
Te6edf3relaySidebarCollapsedTb4b4b4(Te6edf3collapsedTb4b4b4) Tb4b4b4{
Te6edf3saveFeatureSidebarCollapsedTb4b4b4(Ta5d6ff"Ta5d6ffrelayChatTa5d6ff"Tb4b4b4, Te6edf3collapsedTb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3persistRelayLayoutTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3selectedHubHashTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3persistRelayLayoutTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3selectedRoomTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3persistRelayLayoutTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3viewTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3persistRelayLayoutTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3mountedTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3WebSocketConnectionTb4b4b4.Te6edf3onTb4b4b4(Ta5d6ff"Ta5d6ffmessageTa5d6ff"Tb4b4b4, Te6edf3thisTb4b4b4.Te6edf3onWebsocketMessageTb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3smMq Tff7b72= Te6edf3windowTb4b4b4.Te6edf3matchMediaTb4b4b4(Ta5d6ff"Ta5d6ff(min-width: 640px)Ta5d6ff"Tb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3smUp Tff7b72= Te6edf3thisTb4b4b4.Te6edf3smMqTb4b4b4.Te6edf3matchesTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3smMqTb4b4b4.Te6edf3addEventListenerTb4b4b4(Ta5d6ff"Ta5d6ffchangeTa5d6ff"Tb4b4b4, Te6edf3thisTb4b4b4.Te6edf3onSmMqChangeTb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3hostUptimeAnchorMs Tff7b72= Te6edf3DateTb4b4b4.Te6edf3nowTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3hostUptimeTimer Tff7b72= Te6edf3windowTb4b4b4.Te6edf3setIntervalTb4b4b4(Tb4b4b4(Tb4b4b4) Tff7b72=Tff7b72> Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3thisTb4b4b4.Te6edf3view Tff7b72=Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ffhostTa5d6ff" Tff7b72&Tff7b72& Te6edf3thisTb4b4b4.Te6edf3serverHubsTb4b4b4.Te6edf3someTb4b4b4(Tb4b4b4(Te6edf3hTb4b4b4) Tff7b72=Tff7b72> Te6edf3hTb4b4b4.Te6edf3runningTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3hostUptimeTick Tff7b72+Tff7b72= T79c0ff1Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4, T79c0ff1000Tb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3fetchHubsTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3thenTb4b4b4(Tb4b4b4(Tb4b4b4) Tff7b72=Tff7b72> Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3restoreRelayLayoutTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3applyPopoutRouteTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3applyRouteQueryTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3fetchServersTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3thisTb4b4b4.Te6edf3isPopoutModeTb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3fetchDiscoveredTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3beforeUnmountTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3WebSocketConnectionTb4b4b4.Te6edf3offTb4b4b4(Ta5d6ff"Ta5d6ffmessageTa5d6ff"Tb4b4b4, Te6edf3thisTb4b4b4.Te6edf3onWebsocketMessageTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3thisTb4b4b4.Te6edf3discoverySearchTimerTb4b4b4) Tb4b4b4{
Te6edf3clearTimeoutTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3discoverySearchTimerTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3thisTb4b4b4.Te6edf3hostUptimeTimerTb4b4b4) Tb4b4b4{
Te6edf3clearIntervalTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3hostUptimeTimerTb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3hostUptimeTimer Tff7b72= Te6edf3nullTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3thisTb4b4b4.Te6edf3smMqTb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3smMqTb4b4b4.Te6edf3removeEventListenerTb4b4b4(Ta5d6ff"Ta5d6ffchangeTa5d6ff"Tb4b4b4, Te6edf3thisTb4b4b4.Te6edf3onSmMqChangeTb4b4b4)Tb4b4b4;
Tb4b4b4}
T8b949e// Leaving the page must stop treating the last room as "viewed" so new
T8b949e// mentions while away can bump unread again.
Te6edf3windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(Ta5d6ff"Ta5d6ff/api/v1/rrc/active/clearTa5d6ff"Tb4b4b4)Tb4b4b4.Te6edf3catchTb4b4b4(Tb4b4b4(Tb4b4b4) Tff7b72=Tff7b72> Tb4b4b4{Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3methodsTb4b4b4: Tb4b4b4{
Te6edf3selectViewTb4b4b4(Te6edf3viewTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3view Tff7b72!Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ffhostTa5d6ff"Tb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3closeHostModerationTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3thisTb4b4b4.Te6edf3view Tff7b72= Te6edf3viewTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3persistRelayLayoutTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3view Tff7b72=Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ffdiscoveryTa5d6ff"Tb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3fetchDiscoveredTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3view Tff7b72=Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ffhostTa5d6ff"Tb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3fetchServersTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3persistRelayLayoutTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3thisTb4b4b4.Te6edf3isPopoutModeTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Te6edf3saveRelayLayoutTb4b4b4(Tb4b4b4{
Te6edf3viewTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3viewTb4b4b4,
Te6edf3selectedHubHashTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3selectedHubHashTb4b4b4,
Te6edf3selectedRoomTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3selectedRoomTb4b4b4,
Te6edf3expandedHubsTb4b4b4: Tb4b4b4{ Tb4b4b4.Tb4b4b4.Tb4b4b4.Te6edf3thisTb4b4b4.Te6edf3expandedHubs Tb4b4b4}Tb4b4b4,
Te6edf3availableRoomsExpandedTb4b4b4: Tb4b4b4{ Tb4b4b4.Tb4b4b4.Tb4b4b4.Te6edf3thisTb4b4b4.Te6edf3availableRoomsExpanded Tb4b4b4}Tb4b4b4,
Te6edf3relaySidebarCollapsedTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3relaySidebarCollapsedTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3restoreRelayLayoutTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3thisTb4b4b4.Te6edf3isPopoutModeTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3saved Tff7b72= Te6edf3loadRelayLayoutTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3savedTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3savedTb4b4b4.Te6edf3view Tff7b72=Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ffchatTa5d6ff" Tff7b72|Tff7b72| Te6edf3savedTb4b4b4.Te6edf3view Tff7b72=Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ffdiscoveryTa5d6ff" Tff7b72|Tff7b72| Te6edf3savedTb4b4b4.Te6edf3view Tff7b72=Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ffhostTa5d6ff"Tb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3view Tff7b72= Te6edf3savedTb4b4b4.Te6edf3viewTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3savedTb4b4b4.Te6edf3relaySidebarCollapsed Tff7b72=Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ffbooleanTa5d6ff"Tb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3relaySidebarCollapsed Tff7b72= Te6edf3savedTb4b4b4.Te6edf3relaySidebarCollapsedTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3savedTb4b4b4.Te6edf3expandedHubs Tff7b72&Tff7b72& Tff7b72typeof Te6edf3savedTb4b4b4.Te6edf3expandedHubs Tff7b72=Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ffobjectTa5d6ff"Tb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3expandedHubs Tff7b72= Tb4b4b4{ Tb4b4b4.Tb4b4b4.Tb4b4b4.Te6edf3savedTb4b4b4.Te6edf3expandedHubs Tb4b4b4}Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3savedTb4b4b4.Te6edf3availableRoomsExpanded Tff7b72&Tff7b72& Tff7b72typeof Te6edf3savedTb4b4b4.Te6edf3availableRoomsExpanded Tff7b72=Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ffobjectTa5d6ff"Tb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3availableRoomsExpanded Tff7b72= Tb4b4b4{ Tb4b4b4.Tb4b4b4.Tb4b4b4.Te6edf3savedTb4b4b4.Te6edf3availableRoomsExpanded Tb4b4b4}Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3savedTb4b4b4.Te6edf3selectedHubHash Tff7b72&Tff7b72& Te6edf3thisTb4b4b4.Te6edf3hubsTb4b4b4.Te6edf3someTb4b4b4(Tb4b4b4(Te6edf3hTb4b4b4) Tff7b72=Tff7b72> Te6edf3hTb4b4b4.Te6edf3hub_hash Tff7b72=Tff7b72=Tff7b72= Te6edf3savedTb4b4b4.Te6edf3selectedHubHashTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3selectedHubHash Tff7b72= Te6edf3savedTb4b4b4.Te6edf3selectedHubHashTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3expandedHubsTb4b4b4[Te6edf3savedTb4b4b4.Te6edf3selectedHubHashTb4b4b4] Tff7b72= Tffa657trueTb4b4b4;
Tff7b72const Te6edf3hub Tff7b72= Te6edf3thisTb4b4b4.Te6edf3hubsTb4b4b4.Te6edf3findTb4b4b4(Tb4b4b4(Te6edf3hTb4b4b4) Tff7b72=Tff7b72> Te6edf3hTb4b4b4.Te6edf3hub_hash Tff7b72=Tff7b72=Tff7b72= Te6edf3savedTb4b4b4.Te6edf3selectedHubHashTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3rooms Tff7b72= Te6edf3hub Tff7b72? Te6edf3thisTb4b4b4.Te6edf3orderedRoomsForTb4b4b4(Te6edf3hubTb4b4b4) Tff7b72: Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3savedTb4b4b4.Te6edf3selectedRoom Tff7b72&Tff7b72& Te6edf3roomsTb4b4b4.Te6edf3includesTb4b4b4(Te6edf3savedTb4b4b4.Te6edf3selectedRoomTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3selectRoomTb4b4b4(Te6edf3savedTb4b4b4.Te6edf3selectedHubHashTb4b4b4, Te6edf3savedTb4b4b4.Te6edf3selectedRoomTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3roomsTb4b4b4.Te6edf3length Tff7b72> T79c0ff0Tb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3selectRoomTb4b4b4(Te6edf3savedTb4b4b4.Te6edf3selectedHubHashTb4b4b4, Te6edf3roomsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3orderedRoomsForTb4b4b4(Te6edf3hubTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3hub Tff7b72|Tff7b72| Tff7b72!Te6edf3ArrayTb4b4b4.Te6edf3isArrayTb4b4b4(Te6edf3hubTb4b4b4.Te6edf3known_roomsTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3hubTb4b4b4.Te6edf3known_roomsTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3availableRoomsForTb4b4b4(Te6edf3hubTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3hub Tff7b72|Tff7b72| Tff7b72!Te6edf3hubTb4b4b4.Te6edf3available_rooms Tff7b72|Tff7b72| Tff7b72typeof Te6edf3hubTb4b4b4.Te6edf3available_rooms Tff7b72!Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ffobjectTa5d6ff"Tb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3known Tff7b72= Te6edf3new Te6edf3SetTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3orderedRoomsForTb4b4b4(Te6edf3hubTb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3ObjectTb4b4b4.Te6edf3entriesTb4b4b4(Te6edf3hubTb4b4b4.Te6edf3available_roomsTb4b4b4)
Tb4b4b4.Te6edf3filterTb4b4b4(Tb4b4b4(Tb4b4b4[Te6edf3nameTb4b4b4]Tb4b4b4) Tff7b72=Tff7b72> Tff7b72!Te6edf3knownTb4b4b4.Te6edf3hasTb4b4b4(Te6edf3nameTb4b4b4)Tb4b4b4)
Tb4b4b4.Te6edf3mapTb4b4b4(Tb4b4b4(Tb4b4b4[Te6edf3nameTb4b4b4, Te6edf3topicTb4b4b4]Tb4b4b4) Tff7b72=Tff7b72> Tb4b4b4(Tb4b4b4{ Te6edf3nameTb4b4b4, Te6edf3topic Tb4b4b4}Tb4b4b4)Tb4b4b4)
Tb4b4b4.Te6edf3sortTb4b4b4(Tb4b4b4(Te6edf3aTb4b4b4, Te6edf3bTb4b4b4) Tff7b72=Tff7b72> Te6edf3aTb4b4b4.Te6edf3nameTb4b4b4.Te6edf3localeCompareTb4b4b4(Te6edf3bTb4b4b4.Te6edf3nameTb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3onCollapsedHubClickTb4b4b4(Te6edf3hubTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3rooms Tff7b72= Te6edf3thisTb4b4b4.Te6edf3orderedRoomsForTb4b4b4(Te6edf3hubTb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3selectedHubHash Tff7b72= Te6edf3hubTb4b4b4.Te6edf3hub_hashTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3expandedHubsTb4b4b4[Te6edf3hubTb4b4b4.Te6edf3hub_hashTb4b4b4] Tff7b72= Tffa657trueTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3roomsTb4b4b4.Te6edf3length Tff7b72> T79c0ff0Tb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3selectRoomTb4b4b4(Te6edf3hubTb4b4b4.Te6edf3hub_hashTb4b4b4, Te6edf3roomsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3isExpandedTb4b4b4(Te6edf3hubHashTb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72!Tff7b72!Te6edf3thisTb4b4b4.Te6edf3expandedHubsTb4b4b4[Te6edf3hubHashTb4b4b4]Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3toggleHubTb4b4b4(Te6edf3hubHashTb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3selectedHubHash Tff7b72= Te6edf3hubHashTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3expandedHubsTb4b4b4[Te6edf3hubHashTb4b4b4] Tff7b72= Tff7b72!Te6edf3thisTb4b4b4.Te6edf3expandedHubsTb4b4b4[Te6edf3hubHashTb4b4b4]Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3persistRelayLayoutTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3isAvailableRoomsExpandedTb4b4b4(Te6edf3hubHashTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3thisTb4b4b4.Te6edf3availableRoomsExpandedTb4b4b4[Te6edf3hubHashTb4b4b4] Tff7b72!Tff7b72=Tff7b72= Tffa657falseTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3toggleAvailableRoomsTb4b4b4(Te6edf3hubHashTb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3availableRoomsExpandedTb4b4b4[Te6edf3hubHashTb4b4b4] Tff7b72= Tff7b72!Te6edf3thisTb4b4b4.Te6edf3isAvailableRoomsExpandedTb4b4b4(Te6edf3hubHashTb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3persistRelayLayoutTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3hostedHubUptimeSecondsTb4b4b4(Te6edf3hubTb4b4b4) Tb4b4b4{
Tffa657void Te6edf3thisTb4b4b4.Te6edf3hostUptimeTickTb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3hubTff7b72?Tb4b4b4.Te6edf3runningTb4b4b4) Tb4b4b4{
Tff7b72return T79c0ff0Tb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3base Tff7b72= Te6edf3NumberTb4b4b4(Te6edf3hubTb4b4b4.Te6edf3uptime_secondsTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3NumberTb4b4b4.Te6edf3isFiniteTb4b4b4(Te6edf3baseTb4b4b4) Tff7b72|Tff7b72| Te6edf3base Tff7b72< T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72return T79c0ff0Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3thisTb4b4b4.Te6edf3hostUptimeAnchorMsTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3MathTb4b4b4.Te6edf3floorTb4b4b4(Te6edf3baseTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3MathTb4b4b4.Te6edf3floorTb4b4b4(Te6edf3base Tff7b72+ Tb4b4b4(Te6edf3DateTb4b4b4.Te6edf3nowTb4b4b4(Tb4b4b4) Tff7b72- Te6edf3thisTb4b4b4.Te6edf3hostUptimeAnchorMsTb4b4b4) Tff7b72/ T79c0ff1000Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3formatUptimeTb4b4b4(Te6edf3secondsTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3seconds Tff7b72=Tff7b72= Te6edf3null Tff7b72|Tff7b72| Te6edf3seconds Tff7b72< T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72return Ta5d6ff"Ta5d6ff-Ta5d6ff"Tb4b4b4;
Tb4b4b4}
Te6edf3let Te6edf3s Tff7b72= Te6edf3MathTb4b4b4.Te6edf3floorTb4b4b4(Te6edf3secondsTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3s Tff7b72< T79c0ff60Tb4b4b4) Tb4b4b4{
Tff7b72return `Te6edf3$Tb4b4b4{Te6edf3sTb4b4b4}Te6edf3s`Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3s Tff7b72< T79c0ff3600Tb4b4b4) Tb4b4b4{
Tff7b72return `Te6edf3$Tb4b4b4{Te6edf3MathTb4b4b4.Te6edf3floorTb4b4b4(Te6edf3s Tff7b72/ T79c0ff60Tb4b4b4)Tb4b4b4}Te6edf3m`Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3s Tff7b72< T79c0ff86400Tb4b4b4) Tb4b4b4{
Tff7b72return `Te6edf3$Tb4b4b4{Te6edf3MathTb4b4b4.Te6edf3floorTb4b4b4(Te6edf3s Tff7b72/ T79c0ff3600Tb4b4b4)Tb4b4b4}Te6edf3h`Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3s Tff7b72< T79c0ff30 Tff7b72* T79c0ff86400Tb4b4b4) Tb4b4b4{
Tff7b72return `Te6edf3$Tb4b4b4{Te6edf3MathTb4b4b4.Te6edf3floorTb4b4b4(Te6edf3s Tff7b72/ T79c0ff86400Tb4b4b4)Tb4b4b4}Te6edf3d`Tb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3yearSec Tff7b72= T79c0ff365 Tff7b72* T79c0ff86400Tb4b4b4;
Tff7b72const Te6edf3monthSec Tff7b72= T79c0ff30 Tff7b72* T79c0ff86400Tb4b4b4;
Tff7b72const Te6edf3years Tff7b72= Te6edf3MathTb4b4b4.Te6edf3floorTb4b4b4(Te6edf3s Tff7b72/ Te6edf3yearSecTb4b4b4)Tb4b4b4;
Te6edf3s Tff7b72-Tff7b72= Te6edf3years Tff7b72* Te6edf3yearSecTb4b4b4;
Tff7b72const Te6edf3months Tff7b72= Te6edf3MathTb4b4b4.Te6edf3floorTb4b4b4(Te6edf3s Tff7b72/ Te6edf3monthSecTb4b4b4)Tb4b4b4;
Te6edf3s Tff7b72-Tff7b72= Te6edf3months Tff7b72* Te6edf3monthSecTb4b4b4;
Tff7b72const Te6edf3days Tff7b72= Te6edf3MathTb4b4b4.Te6edf3floorTb4b4b4(Te6edf3s Tff7b72/ T79c0ff86400Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3parts Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3yearsTb4b4b4) Tb4b4b4{
Te6edf3partsTb4b4b4.Te6edf3pushTb4b4b4(`Te6edf3$Tb4b4b4{Te6edf3yearsTb4b4b4}Te6edf3y`Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3monthsTb4b4b4) Tb4b4b4{
Te6edf3partsTb4b4b4.Te6edf3pushTb4b4b4(`Te6edf3$Tb4b4b4{Te6edf3monthsTb4b4b4}Te6edf3mo`Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3daysTb4b4b4) Tb4b4b4{
Te6edf3partsTb4b4b4.Te6edf3pushTb4b4b4(`Te6edf3$Tb4b4b4{Te6edf3daysTb4b4b4}Te6edf3d`Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3partsTb4b4b4.Te6edf3length Tff7b72? Te6edf3partsTb4b4b4.Te6edf3joinTb4b4b4(Ta5d6ff"Ta5d6ff Ta5d6ff"Tb4b4b4) Tff7b72: Ta5d6ff"Ta5d6ff0dTa5d6ff"Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3onCreateAnnounceIntervalSliderTb4b4b4(Te6edf3eventTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3minutes Tff7b72= Te6edf3announceSliderPosToMinutesTb4b4b4(Te6edf3eventTff7b72?Tb4b4b4.Te6edf3targetTff7b72?Tb4b4b4.Te6edf3valueTb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3createHubFormTb4b4b4.Te6edf3announce_interval_seconds Tff7b72= Te6edf3minutes Tff7b72* T79c0ff60Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3createAnnounceIntervalDraft Tff7b72= Te6edf3nullTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3onCreateAnnounceIntervalFocusTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3createAnnounceIntervalDraft Tff7b72= Te6edf3StringTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3createAnnounceIntervalMinutesTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3onCreateAnnounceIntervalInputTb4b4b4(Te6edf3eventTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3raw Tff7b72= Te6edf3StringTb4b4b4(Te6edf3eventTff7b72?Tb4b4b4.Te6edf3targetTff7b72?Tb4b4b4.Te6edf3value Tff7b72?Tff7b72? Ta5d6ff"Ta5d6ff"Tb4b4b4)Tb4b4b4.Te6edf3replaceTb4b4b4(Tff7b72/\Te6edf3DTff7b72/Te6edf3gTb4b4b4, Ta5d6ff"Ta5d6ff"Tb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3createAnnounceIntervalDraft Tff7b72= Te6edf3rawTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3raw Tff7b72=Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ff"Tb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3minutes Tff7b72= Te6edf3NumberTb4b4b4.Te6edf3parseIntTb4b4b4(Te6edf3rawTb4b4b4, T79c0ff10Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3NumberTb4b4b4.Te6edf3isFiniteTb4b4b4(Te6edf3minutesTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3createHubFormTb4b4b4.Te6edf3announce_interval_seconds Tff7b72= Te6edf3clampAnnounceIntervalMinutesTb4b4b4(Te6edf3minutesTb4b4b4) Tff7b72* T79c0ff60Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3onCreateAnnounceIntervalBlurTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3minutes Tff7b72= Te6edf3clampAnnounceIntervalMinutesTb4b4b4(
Te6edf3thisTb4b4b4.Te6edf3createAnnounceIntervalDraft Tff7b72|Tff7b72| Te6edf3thisTb4b4b4.Te6edf3createAnnounceIntervalMinutes
Tb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3createHubFormTb4b4b4.Te6edf3announce_interval_seconds Tff7b72= Te6edf3minutes Tff7b72* T79c0ff60Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3createAnnounceIntervalDraft Tff7b72= Te6edf3nullTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3onHostAnnounceIntervalSliderTb4b4b4(Te6edf3eventTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3minutes Tff7b72= Te6edf3announceSliderPosToMinutesTb4b4b4(Te6edf3eventTff7b72?Tb4b4b4.Te6edf3targetTff7b72?Tb4b4b4.Te6edf3valueTb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3hostHubSettingsFormTb4b4b4.Te6edf3announce_interval_seconds Tff7b72= Te6edf3minutes Tff7b72* T79c0ff60Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3hostAnnounceIntervalDraft Tff7b72= Te6edf3nullTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3onHostAnnounceIntervalFocusTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3hostAnnounceIntervalDraft Tff7b72= Te6edf3StringTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3hostAnnounceIntervalMinutesTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3onHostAnnounceIntervalInputTb4b4b4(Te6edf3eventTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3raw Tff7b72= Te6edf3StringTb4b4b4(Te6edf3eventTff7b72?Tb4b4b4.Te6edf3targetTff7b72?Tb4b4b4.Te6edf3value Tff7b72?Tff7b72? Ta5d6ff"Ta5d6ff"Tb4b4b4)Tb4b4b4.Te6edf3replaceTb4b4b4(Tff7b72/\Te6edf3DTff7b72/Te6edf3gTb4b4b4, Ta5d6ff"Ta5d6ff"Tb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3hostAnnounceIntervalDraft Tff7b72= Te6edf3rawTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3raw Tff7b72=Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ff"Tb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3minutes Tff7b72= Te6edf3NumberTb4b4b4.Te6edf3parseIntTb4b4b4(Te6edf3rawTb4b4b4, T79c0ff10Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3NumberTb4b4b4.Te6edf3isFiniteTb4b4b4(Te6edf3minutesTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3hostHubSettingsFormTb4b4b4.Te6edf3announce_interval_seconds Tff7b72= Te6edf3clampAnnounceIntervalMinutesTb4b4b4(Te6edf3minutesTb4b4b4) Tff7b72* T79c0ff60Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3onHostAnnounceIntervalBlurTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3minutes Tff7b72= Te6edf3clampAnnounceIntervalMinutesTb4b4b4(
Te6edf3thisTb4b4b4.Te6edf3hostAnnounceIntervalDraft Tff7b72|Tff7b72| Te6edf3thisTb4b4b4.Te6edf3hostAnnounceIntervalMinutes
Tb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3hostHubSettingsFormTb4b4b4.Te6edf3announce_interval_seconds Tff7b72= Te6edf3minutes Tff7b72* T79c0ff60Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3hostAnnounceIntervalDraft Tff7b72= Te6edf3nullTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3openHostHubSettingsTb4b4b4(Te6edf3hubTb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3hostHubSettingsId Tff7b72= Te6edf3hubTb4b4b4.Tffa657idTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3hostHubSettingsForm Tff7b72= Tb4b4b4{
Te6edf3nameTb4b4b4: Te6edf3hubTb4b4b4.Te6edf3name Tff7b72|Tff7b72| Ta5d6ff"Ta5d6ff"Tb4b4b4,
Te6edf3announceTb4b4b4: Te6edf3hubTb4b4b4.Te6edf3announce Tff7b72!Tff7b72=Tff7b72= Tffa657falseTb4b4b4,
Te6edf3announce_interval_secondsTb4b4b4:
Te6edf3hubTb4b4b4.Te6edf3announce_interval_seconds Tff7b72> T79c0ff0
Tff7b72? Te6edf3hubTb4b4b4.Te6edf3announce_interval_seconds
Tff7b72: Te6edf3DEFAULT_ANNOUNCE_INTERVAL_SECONDSTb4b4b4,
Tb4b4b4}Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3hostAnnounceIntervalDraft Tff7b72= Te6edf3nullTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3showHostHubSettings Tff7b72= Tffa657trueTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3async Te6edf3saveHostHubSettingsTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3thisTb4b4b4.Te6edf3hostHubSettingsIdTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Te6edf3try Tb4b4b4{
Te6edf3await Te6edf3windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3patchTb4b4b4(`Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3rrcTff7b72/Te6edf3serversTff7b72/Te6edf3$Tb4b4b4{Te6edf3thisTb4b4b4.Te6edf3hostHubSettingsIdTb4b4b4}`Tb4b4b4, Tb4b4b4{
Te6edf3nameTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3hostHubSettingsFormTb4b4b4.Te6edf3nameTb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4) Tff7b72|Tff7b72| Te6edf3undefinedTb4b4b4,
Te6edf3announceTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3hostHubSettingsFormTb4b4b4.Te6edf3announceTb4b4b4,
Te6edf3announce_interval_secondsTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3hostHubSettingsFormTb4b4b4.Te6edf3announce_interval_secondsTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3showHostHubSettings Tff7b72= Tffa657falseTb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.settings_savedTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3await Te6edf3thisTb4b4b4.Te6edf3fetchServersTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Te6edf3catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3eTb4b4b4.Te6edf3responseTff7b72?Tb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3message Tff7b72|Tff7b72| Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.action_failedTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3statusLabelTb4b4b4(Te6edf3statusTb4b4b4) Tb4b4b4{
Tff7b72switch Tb4b4b4(Te6edf3statusTb4b4b4) Tb4b4b4{
Tff7b72case T79c0ff1Tb4b4b4:
Tff7b72return Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.status_connectingTa5d6ff"Tb4b4b4)Tb4b4b4;
Tff7b72case T79c0ff2Tb4b4b4:
Tff7b72return Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.status_connectedTa5d6ff"Tb4b4b4)Tb4b4b4;
Tff7b72case T79c0ff3Tb4b4b4:
Tff7b72return Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.status_failedTa5d6ff"Tb4b4b4)Tb4b4b4;
Tff7b72defaultTff7b72:
Tff7b72return Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.status_disconnectedTa5d6ff"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3statusTextColorTb4b4b4(Te6edf3statusTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3status Tff7b72=Tff7b72=Tff7b72= T79c0ff2Tb4b4b4) Tb4b4b4{
Tff7b72return Ta5d6ff"Ta5d6fftext-sem-successTa5d6ff"Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3status Tff7b72=Tff7b72=Tff7b72= T79c0ff3Tb4b4b4) Tb4b4b4{
Tff7b72return Ta5d6ff"Ta5d6fftext-sem-dangerTa5d6ff"Tb4b4b4;
Tb4b4b4}
Tff7b72return Ta5d6ff"Ta5d6fftext-sem-fg-mutedTa5d6ff"Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3statusIconColorTb4b4b4(Te6edf3statusTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3status Tff7b72=Tff7b72=Tff7b72= T79c0ff2Tb4b4b4) Tb4b4b4{
Tff7b72return Ta5d6ff"Ta5d6fftext-sem-successTa5d6ff"Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3status Tff7b72=Tff7b72=Tff7b72= T79c0ff1Tb4b4b4) Tb4b4b4{
Tff7b72return Ta5d6ff"Ta5d6fftext-sem-warningTa5d6ff"Tb4b4b4;
Tb4b4b4}
Tff7b72return Ta5d6ff"Ta5d6fftext-sem-dangerTa5d6ff"Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3hubIconNameTb4b4b4(Te6edf3hubTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3hubTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3DEFAULT_RRC_HUB_ICONTb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3normalizeMdiIconNameTb4b4b4(Te6edf3hubTb4b4b4.Te6edf3hub_iconTb4b4b4) Tff7b72|Tff7b72| Te6edf3DEFAULT_RRC_HUB_ICONTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3hubDisplayNameTb4b4b4(Te6edf3hubTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3hubTb4b4b4) Tb4b4b4{
Tff7b72return Ta5d6ff"Ta5d6ff"Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3hubTb4b4b4.Te6edf3display_nameTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3hubTb4b4b4.Te6edf3display_nameTb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3hubTb4b4b4.Te6edf3name Tff7b72|Tff7b72| Ta5d6ff"Ta5d6ff"Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3formatUnreadBadgeTb4b4b4(Te6edf3countTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3n Tff7b72= Te6edf3NumberTb4b4b4(Te6edf3countTb4b4b4) Tff7b72|Tff7b72| T79c0ff0Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3n Tff7b72<Tff7b72= T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72return Ta5d6ff"Ta5d6ff"Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3n Tff7b72>Tff7b72= T79c0ff1000Tb4b4b4) Tb4b4b4{
Tff7b72return Ta5d6ff"Ta5d6ff999+Ta5d6ff"Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3StringTb4b4b4(Te6edf3nTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3hubTotalUnreadTb4b4b4(Te6edf3hubTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3hubTb4b4b4.Te6edf3total_unread Tff7b72=Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ffnumberTa5d6ff"Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3hubTb4b4b4.Te6edf3total_unreadTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3counts Tff7b72= Te6edf3hubTb4b4b4.Te6edf3unread_countsTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3counts Tff7b72&Tff7b72& Tff7b72typeof Te6edf3counts Tff7b72=Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ffobjectTa5d6ff"Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3ObjectTb4b4b4.Te6edf3valuesTb4b4b4(Te6edf3countsTb4b4b4)Tb4b4b4.Te6edf3reduceTb4b4b4(Tb4b4b4(Te6edf3aTb4b4b4, Te6edf3bTb4b4b4) Tff7b72=Tff7b72> Te6edf3a Tff7b72+ Tb4b4b4(Te6edf3NumberTb4b4b4(Te6edf3bTb4b4b4) Tff7b72|Tff7b72| T79c0ff0Tb4b4b4)Tb4b4b4, T79c0ff0Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3hubTb4b4b4.Te6edf3unread_rooms Tff7b72? Te6edf3hubTb4b4b4.Te6edf3unread_roomsTb4b4b4.Te6edf3length Tff7b72: T79c0ff0Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3roomUnreadCountTb4b4b4(Te6edf3hubTb4b4b4, Te6edf3roomTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3counts Tff7b72= Te6edf3hubTb4b4b4.Te6edf3unread_countsTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3counts Tff7b72&Tff7b72& Tff7b72typeof Te6edf3counts Tff7b72=Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ffobjectTa5d6ff" Tff7b72&Tff7b72& Te6edf3countsTb4b4b4[Te6edf3roomTb4b4b4] Tff7b72!Tff7b72= Te6edf3nullTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3NumberTb4b4b4(Te6edf3countsTb4b4b4[Te6edf3roomTb4b4b4]Tb4b4b4) Tff7b72|Tff7b72| T79c0ff0Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3hubTb4b4b4.Te6edf3unread_rooms Tff7b72&Tff7b72& Te6edf3hubTb4b4b4.Te6edf3unread_roomsTb4b4b4.Te6edf3includesTb4b4b4(Te6edf3roomTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72return T79c0ff1Tb4b4b4;
Tb4b4b4}
Tff7b72return T79c0ff0Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3updateUnreadBadgeTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3GlobalStateTb4b4b4.Te6edf3relayChatUnreadCount Tff7b72= Te6edf3countRelayMentionsTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3hubsTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3onSmMqChangeTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3smUp Tff7b72= Te6edf3thisTb4b4b4.Te6edf3smMqTb4b4b4.Te6edf3matchesTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3onHubDragStartTb4b4b4(Te6edf3indexTb4b4b4, Te6edf3eventTb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3dragHubIndex Tff7b72= Te6edf3indexTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3eventTb4b4b4.Te6edf3dataTransferTb4b4b4) Tb4b4b4{
Te6edf3eventTb4b4b4.Te6edf3dataTransferTb4b4b4.Te6edf3effectAllowed Tff7b72= Ta5d6ff"Ta5d6ffmoveTa5d6ff"Tb4b4b4;
Te6edf3eventTb4b4b4.Te6edf3dataTransferTb4b4b4.Te6edf3setDataTb4b4b4(Ta5d6ff"Ta5d6fftext/plainTa5d6ff"Tb4b4b4, Te6edf3StringTb4b4b4(Te6edf3indexTb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3onHubDragOverTb4b4b4(Te6edf3indexTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3thisTb4b4b4.Te6edf3dragHubIndex Tff7b72=Tff7b72=Tff7b72= Te6edf3null Tff7b72|Tff7b72| Te6edf3thisTb4b4b4.Te6edf3dragHubIndex Tff7b72=Tff7b72=Tff7b72= Te6edf3indexTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3hubs Tff7b72= Tb4b4b4[Tb4b4b4.Tb4b4b4.Tb4b4b4.Te6edf3thisTb4b4b4.Te6edf3hubsTb4b4b4]Tb4b4b4;
Tff7b72const Tb4b4b4[Te6edf3movedTb4b4b4] Tff7b72= Te6edf3hubsTb4b4b4.Te6edf3spliceTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3dragHubIndexTb4b4b4, T79c0ff1Tb4b4b4)Tb4b4b4;
Te6edf3hubsTb4b4b4.Te6edf3spliceTb4b4b4(Te6edf3indexTb4b4b4, T79c0ff0Tb4b4b4, Te6edf3movedTb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3hubs Tff7b72= Te6edf3hubsTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3dragHubIndex Tff7b72= Te6edf3indexTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3async Te6edf3onHubDropTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3dragHubIndex Tff7b72= Te6edf3nullTb4b4b4;
Te6edf3try Tb4b4b4{
Te6edf3await Te6edf3windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3putTb4b4b4(Ta5d6ff"Ta5d6ff/api/v1/rrc/hubs/orderTa5d6ff"Tb4b4b4, Tb4b4b4{
Te6edf3hub_hashesTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3hubsTb4b4b4.Te6edf3mapTb4b4b4(Tb4b4b4(Te6edf3hTb4b4b4) Tff7b72=Tff7b72> Te6edf3hTb4b4b4.Te6edf3hub_hashTb4b4b4)Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4} Te6edf3catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3eTb4b4b4.Te6edf3responseTff7b72?Tb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3message Tff7b72|Tff7b72| Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.action_failedTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3await Te6edf3thisTb4b4b4.Te6edf3fetchHubsTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3onRoomDragStartTb4b4b4(Te6edf3hubTb4b4b4, Te6edf3roomIndexTb4b4b4, Te6edf3eventTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3thisTb4b4b4.Te6edf3orderedRoomsForTb4b4b4(Te6edf3hubTb4b4b4)Tb4b4b4.Te6edf3length Tff7b72<Tff7b72= T79c0ff1Tb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Te6edf3thisTb4b4b4.Te6edf3dragRoomHubHash Tff7b72= Te6edf3hubTb4b4b4.Te6edf3hub_hashTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3dragRoomIndex Tff7b72= Te6edf3roomIndexTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3eventTb4b4b4.Te6edf3dataTransferTb4b4b4) Tb4b4b4{
Te6edf3eventTb4b4b4.Te6edf3dataTransferTb4b4b4.Te6edf3effectAllowed Tff7b72= Ta5d6ff"Ta5d6ffmoveTa5d6ff"Tb4b4b4;
Te6edf3eventTb4b4b4.Te6edf3dataTransferTb4b4b4.Te6edf3setDataTb4b4b4(Ta5d6ff"Ta5d6fftext/plainTa5d6ff"Tb4b4b4, Te6edf3StringTb4b4b4(Te6edf3roomIndexTb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3onRoomDragOverTb4b4b4(Te6edf3hubTb4b4b4, Te6edf3roomIndexTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3thisTb4b4b4.Te6edf3dragRoomHubHash Tff7b72!Tff7b72=Tff7b72= Te6edf3hubTb4b4b4.Te6edf3hub_hash Tff7b72|Tff7b72| Te6edf3thisTb4b4b4.Te6edf3dragRoomIndex Tff7b72=Tff7b72=Tff7b72= Te6edf3nullTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3thisTb4b4b4.Te6edf3dragRoomIndex Tff7b72=Tff7b72=Tff7b72= Te6edf3roomIndexTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3rooms Tff7b72= Tb4b4b4[Tb4b4b4.Tb4b4b4.Tb4b4b4.Te6edf3thisTb4b4b4.Te6edf3orderedRoomsForTb4b4b4(Te6edf3hubTb4b4b4)Tb4b4b4]Tb4b4b4;
Tff7b72const Tb4b4b4[Te6edf3movedTb4b4b4] Tff7b72= Te6edf3roomsTb4b4b4.Te6edf3spliceTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3dragRoomIndexTb4b4b4, T79c0ff1Tb4b4b4)Tb4b4b4;
Te6edf3roomsTb4b4b4.Te6edf3spliceTb4b4b4(Te6edf3roomIndexTb4b4b4, T79c0ff0Tb4b4b4, Te6edf3movedTb4b4b4)Tb4b4b4;
Te6edf3hubTb4b4b4.Te6edf3known_rooms Tff7b72= Te6edf3roomsTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3dragRoomIndex Tff7b72= Te6edf3roomIndexTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3async Te6edf3onRoomDropTb4b4b4(Te6edf3hubTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3thisTb4b4b4.Te6edf3dragRoomHubHash Tff7b72!Tff7b72=Tff7b72= Te6edf3hubTb4b4b4.Te6edf3hub_hashTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Te6edf3thisTb4b4b4.Te6edf3onRoomDragEndTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3try Tb4b4b4{
Te6edf3await Te6edf3windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3putTb4b4b4(`Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3rrcTff7b72/Te6edf3hubsTff7b72/Te6edf3$Tb4b4b4{Te6edf3hubTb4b4b4.Te6edf3hub_hashTb4b4b4}Tff7b72/Te6edf3roomsTff7b72/Te6edf3order`Tb4b4b4, Tb4b4b4{
Te6edf3room_namesTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3orderedRoomsForTb4b4b4(Te6edf3hubTb4b4b4)Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3await Te6edf3thisTb4b4b4.Te6edf3fetchHubsTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Te6edf3catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3eTb4b4b4.Te6edf3responseTff7b72?Tb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3message Tff7b72|Tff7b72| Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.action_failedTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3await Te6edf3thisTb4b4b4.Te6edf3fetchHubsTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3onRoomDragEndTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3dragRoomHubHash Tff7b72= Te6edf3nullTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3dragRoomIndex Tff7b72= Te6edf3nullTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3openSidebarContextMenuTb4b4b4(Te6edf3eventTb4b4b4, Tb4b4b4{ Te6edf3hub Tff7b72= Te6edf3nullTb4b4b4, Te6edf3room Tff7b72= Te6edf3null Tb4b4b4}Tb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3sidebarMenu Tff7b72= Tb4b4b4{
Te6edf3showTb4b4b4: Tffa657trueTb4b4b4,
Te6edf3xTb4b4b4: Te6edf3eventTb4b4b4.Te6edf3clientXTb4b4b4,
Te6edf3yTb4b4b4: Te6edf3eventTb4b4b4.Te6edf3clientYTb4b4b4,
Te6edf3hubTb4b4b4,
Te6edf3roomTb4b4b4,
Tb4b4b4}Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3closeMessageMenuTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3closeSidebarMenuTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3sidebarMenuTb4b4b4.Te6edf3show Tff7b72= Tffa657falseTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3openMessageContextMenuTb4b4b4(Te6edf3eventTb4b4b4, Te6edf3msgTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3msg Tff7b72|Tff7b72| Te6edf3msgTb4b4b4.Te6edf3kind Tff7b72=Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ffsystemTa5d6ff" Tff7b72|Tff7b72| Te6edf3msgTb4b4b4.Te6edf3kind Tff7b72=Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ffnoticeTa5d6ff" Tff7b72|Tff7b72| Te6edf3msgTb4b4b4.Te6edf3kind Tff7b72=Tff7b72=Tff7b72= Ta5d6ff"Ta5d6fferrorTa5d6ff"Tb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Te6edf3thisTb4b4b4.Te6edf3messageMenu Tff7b72= Tb4b4b4{
Te6edf3showTb4b4b4: Tffa657trueTb4b4b4,
Te6edf3xTb4b4b4: Te6edf3eventTb4b4b4.Te6edf3clientXTb4b4b4,
Te6edf3yTb4b4b4: Te6edf3eventTb4b4b4.Te6edf3clientYTb4b4b4,
Te6edf3msgTb4b4b4,
Tb4b4b4}Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3closeSidebarMenuTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3closeMessageMenuTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3messageMenuTb4b4b4.Te6edf3show Tff7b72= Tffa657falseTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3openAddHubFromMenuTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3closeSidebarMenuTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3openAddHubTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3focusJoinRoomFromMenuTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3hub Tff7b72= Te6edf3thisTb4b4b4.Te6edf3sidebarMenuTb4b4b4.Te6edf3hubTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3closeSidebarMenuTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3hubTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Te6edf3thisTb4b4b4.Te6edf3selectedHubHash Tff7b72= Te6edf3hubTb4b4b4.Te6edf3hub_hashTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3expandedHubsTb4b4b4[Te6edf3hubTb4b4b4.Te6edf3hub_hashTb4b4b4] Tff7b72= Tffa657trueTb4b4b4;
Te6edf3nextTickTb4b4b4(Tb4b4b4(Tb4b4b4) Tff7b72=Tff7b72> Tb4b4b4{
Tff7b72const Te6edf3inputs Tff7b72= Te6edf3thisTb4b4b4.Te6edf3$elTff7b72?Tb4b4b4.Te6edf3querySelectorAllTff7b72?Tb4b4b4.Tb4b4b4(Ta5d6ff"Ta5d6ffinput.input-fieldTa5d6ff"Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3inputs Tff7b72&Tff7b72& Te6edf3inputsTb4b4b4.Te6edf3length Tff7b72> T79c0ff0Tb4b4b4) Tb4b4b4{
Te6edf3inputsTb4b4b4[Te6edf3inputsTb4b4b4.Te6edf3length Tff7b72- T79c0ff1Tb4b4b4]Tb4b4b4.Te6edf3focusTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3connectHubFromMenuTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3hub Tff7b72= Te6edf3thisTb4b4b4.Te6edf3sidebarMenuTb4b4b4.Te6edf3hubTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3closeSidebarMenuTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3hubTb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3connectHubTb4b4b4(Te6edf3hubTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3disconnectHubFromMenuTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3hub Tff7b72= Te6edf3thisTb4b4b4.Te6edf3sidebarMenuTb4b4b4.Te6edf3hubTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3closeSidebarMenuTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3hubTb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3disconnectHubTb4b4b4(Te6edf3hubTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3openSettingsFromMenuTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3hub Tff7b72= Te6edf3thisTb4b4b4.Te6edf3sidebarMenuTb4b4b4.Te6edf3hubTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3closeSidebarMenuTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3hubTb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3openSettingsTb4b4b4(Te6edf3hubTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3copyHubAddressFromMenuTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3hub Tff7b72= Te6edf3thisTb4b4b4.Te6edf3sidebarMenuTb4b4b4.Te6edf3hubTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3closeSidebarMenuTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3hubTff7b72?Tb4b4b4.Te6edf3hub_hashTb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3copyHashTb4b4b4(Te6edf3hubTb4b4b4.Te6edf3hub_hashTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3shareHubFromMenuTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3hub Tff7b72= Te6edf3thisTb4b4b4.Te6edf3sidebarMenuTb4b4b4.Te6edf3hubTb4b4b4;
Tff7b72const Te6edf3room Tff7b72= Te6edf3thisTb4b4b4.Te6edf3sidebarMenuTb4b4b4.Te6edf3roomTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3closeSidebarMenuTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3hubTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Te6edf3thisTb4b4b4.Te6edf3shareHubLinkTb4b4b4(Tb4b4b4{
Te6edf3hub_hashTb4b4b4: Te6edf3hubTb4b4b4.Te6edf3hub_hashTb4b4b4,
Te6edf3nameTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3hubDisplayNameTb4b4b4(Te6edf3hubTb4b4b4)Tb4b4b4,
Te6edf3roomTb4b4b4: Te6edf3room Tff7b72|Tff7b72| Ta5d6ff"Ta5d6ff"Tb4b4b4,
Te6edf3aspectTb4b4b4: Te6edf3hubTb4b4b4.Te6edf3dest_name Tff7b72|Tff7b72| Ta5d6ff"Ta5d6ff"Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3async Te6edf3leaveRoomFromMenuTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3hub Tff7b72= Te6edf3thisTb4b4b4.Te6edf3sidebarMenuTb4b4b4.Te6edf3hubTb4b4b4;
Tff7b72const Te6edf3room Tff7b72= Te6edf3thisTb4b4b4.Te6edf3sidebarMenuTb4b4b4.Te6edf3roomTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3closeSidebarMenuTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3hub Tff7b72|Tff7b72| Tff7b72!Te6edf3roomTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3thisTb4b4b4.Te6edf3selectedHubHash Tff7b72=Tff7b72=Tff7b72= Te6edf3hubTb4b4b4.Te6edf3hub_hash Tff7b72&Tff7b72& Te6edf3thisTb4b4b4.Te6edf3selectedRoom Tff7b72=Tff7b72=Tff7b72= Te6edf3roomTb4b4b4) Tb4b4b4{
Te6edf3await Te6edf3thisTb4b4b4.Te6edf3leaveRoomTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3confirmed Tff7b72= Te6edf3await Te6edf3DialogUtilsTb4b4b4.Te6edf3confirmCustomTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.leave_room_confirmTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3confirmedTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Te6edf3try Tb4b4b4{
Te6edf3await Te6edf3windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3deleteTb4b4b4(`Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3rrcTff7b72/Te6edf3hubsTff7b72/Te6edf3$Tb4b4b4{Te6edf3hubTb4b4b4.Te6edf3hub_hashTb4b4b4}Tff7b72/Te6edf3roomsTff7b72/Te6edf3$Tb4b4b4{Te6edf3thisTb4b4b4.Te6edf3encodeRoomTb4b4b4(Te6edf3roomTb4b4b4)Tb4b4b4}`Tb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.left_roomTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3await Te6edf3thisTb4b4b4.Te6edf3fetchHubsTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Te6edf3catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3eTb4b4b4.Te6edf3responseTff7b72?Tb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3message Tff7b72|Tff7b72| Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.action_failedTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3removeHubFromMenuTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3hub Tff7b72= Te6edf3thisTb4b4b4.Te6edf3sidebarMenuTb4b4b4.Te6edf3hubTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3closeSidebarMenuTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3hubTb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3removeHubTb4b4b4(Te6edf3hubTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3canQuoteMessageTb4b4b4(Te6edf3msgTb4b4b4) Tb4b4b4{
Tff7b72return Tffa657BooleanTb4b4b4(Te6edf3msg Tff7b72&Tff7b72& Tff7b72typeof Te6edf3msgTb4b4b4.Te6edf3text Tff7b72=Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ffstringTa5d6ff" Tff7b72&Tff7b72& Te6edf3msgTb4b4b4.Te6edf3textTb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3canMentionMessageAuthorTb4b4b4(Te6edf3msgTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3msg Tff7b72|Tff7b72| Tff7b72!Te6edf3thisTb4b4b4.Te6edf3selectedHubTb4b4b4) Tb4b4b4{
Tff7b72return Tffa657falseTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3name Tff7b72= Te6edf3thisTb4b4b4.Te6edf3displayNameTb4b4b4(Te6edf3msgTb4b4b4)Tb4b4b4;
Tff7b72return Tffa657BooleanTb4b4b4(Te6edf3name Tff7b72&Tff7b72& Te6edf3msgTb4b4b4.Te6edf3kind Tff7b72=Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ffmsgTa5d6ff"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3replyWithQuoteFromMenuTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3msg Tff7b72= Te6edf3thisTb4b4b4.Te6edf3messageMenuTb4b4b4.Te6edf3msgTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3closeMessageMenuTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3msgTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3author Tff7b72= Te6edf3thisTb4b4b4.Te6edf3displayNameTb4b4b4(Te6edf3msgTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3prefix Tff7b72= `Tff7b72> Te6edf3$Tb4b4b4{Te6edf3authorTb4b4b4}Tff7b72: Te6edf3$Tb4b4b4{Te6edf3msgTb4b4b4.Te6edf3textTb4b4b4}\Te6edf3n\Te6edf3n`Tb4b4b4;
Tff7b72const Te6edf3cur Tff7b72= Te6edf3thisTb4b4b4.Te6edf3composer Tff7b72|Tff7b72| Ta5d6ff"Ta5d6ff"Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3composer Tff7b72= Te6edf3cur Tff7b72+ Tb4b4b4(Te6edf3cur Tff7b72&Tff7b72& Tff7b72!Te6edf3curTb4b4b4.Te6edf3endsWithTb4b4b4(Ta5d6ff"Tffea00\nTa5d6ff"Tb4b4b4) Tff7b72? Ta5d6ff"Tffea00\nTa5d6ff" Tff7b72: Ta5d6ff"Ta5d6ff"Tb4b4b4) Tff7b72+ Te6edf3prefixTb4b4b4;
Te6edf3nextTickTb4b4b4(Tb4b4b4(Tb4b4b4) Tff7b72=Tff7b72> Te6edf3thisTb4b4b4.Te6edf3$refsTb4b4b4.Te6edf3composerInputTff7b72?Tb4b4b4.Te6edf3focusTff7b72?Tb4b4b4.Tb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3mentionUserFromMenuTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3msg Tff7b72= Te6edf3thisTb4b4b4.Te6edf3messageMenuTb4b4b4.Te6edf3msgTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3closeMessageMenuTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3msgTb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3insertMentionTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3displayNameTb4b4b4(Te6edf3msgTb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3copyMessageFromMenuTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3msg Tff7b72= Te6edf3thisTb4b4b4.Te6edf3messageMenuTb4b4b4.Te6edf3msgTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3closeMessageMenuTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3msgTff7b72?Tb4b4b4.Te6edf3textTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Te6edf3try Tb4b4b4{
Te6edf3navigatorTb4b4b4.Te6edf3clipboardTb4b4b4.Te6edf3writeTextTb4b4b4(Te6edf3msgTb4b4b4.Te6edf3textTb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffcommon.copiedTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4} Te6edf3catch Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffcommon.failed_to_copyTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3async Te6edf3sendModerationCommandTb4b4b4(Te6edf3templateTb4b4b4, Te6edf3msgTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3thisTb4b4b4.Te6edf3selectedHub Tff7b72|Tff7b72| Tff7b72!Te6edf3thisTb4b4b4.Te6edf3selectedRoom Tff7b72|Tff7b72| Tff7b72!Te6edf3msgTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
T8b949e// Prefer identity hash so spaced/ambiguous nicks cannot mis-target.
Tff7b72const Te6edf3target Tff7b72=
Tff7b72typeof Te6edf3msgTb4b4b4.Te6edf3src Tff7b72=Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ffstringTa5d6ff" Tff7b72&Tff7b72& Tff7b72/Tff7b72^Tb4b4b4[Te6edf3aTff7b72-Te6edf3fATff7b72-Te6edf3F0T79c0ff-9Tb4b4b4]Tb4b4b4{T79c0ff8Tb4b4b4,T79c0ff64Tb4b4b4}Te6edf3$Tff7b72/Tb4b4b4.Te6edf3testTb4b4b4(Te6edf3msgTb4b4b4.Te6edf3srcTb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)Tb4b4b4)
Tff7b72? Te6edf3msgTb4b4b4.Te6edf3srcTb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3toLowerCaseTb4b4b4(Tb4b4b4)
Tff7b72: Te6edf3thisTb4b4b4.Te6edf3displayNameTb4b4b4(Te6edf3msgTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3room Tff7b72= Te6edf3thisTb4b4b4.Te6edf3selectedRoomTb4b4b4;
Tff7b72const Te6edf3text Tff7b72= Te6edf3templateTb4b4b4.Te6edf3replaceTb4b4b4(Ta5d6ff"Ta5d6ff{room}Ta5d6ff"Tb4b4b4, Te6edf3roomTb4b4b4)Tb4b4b4.Te6edf3replaceTb4b4b4(Ta5d6ff"Ta5d6ff{target}Ta5d6ff"Tb4b4b4, Te6edf3targetTb4b4b4)Tb4b4b4;
Te6edf3try Tb4b4b4{
Te6edf3await Te6edf3windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(`Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3rrcTff7b72/Te6edf3hubsTff7b72/Te6edf3$Tb4b4b4{Te6edf3thisTb4b4b4.Te6edf3selectedHubHashTb4b4b4}Tff7b72/Te6edf3command`Tb4b4b4, Tb4b4b4{
Te6edf3textTb4b4b4,
Te6edf3roomTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffcommon.successTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4} Te6edf3catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3eTb4b4b4.Te6edf3responseTff7b72?Tb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3message Tff7b72|Tff7b72| Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.action_failedTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3kickUserFromMenuTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3msg Tff7b72= Te6edf3thisTb4b4b4.Te6edf3messageMenuTb4b4b4.Te6edf3msgTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3closeMessageMenuTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3sendModerationCommandTb4b4b4(Ta5d6ff"Ta5d6ff/kick {room} {target}Ta5d6ff"Tb4b4b4, Te6edf3msgTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3banUserFromMenuTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3msg Tff7b72= Te6edf3thisTb4b4b4.Te6edf3messageMenuTb4b4b4.Te6edf3msgTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3closeMessageMenuTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3sendModerationCommandTb4b4b4(Ta5d6ff"Ta5d6ff/ban {room} add {target}Ta5d6ff"Tb4b4b4, Te6edf3msgTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3insertMentionTb4b4b4(Te6edf3nameTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3nameTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3mention Tff7b72= Ta5d6ff"Ta5d6ff@Ta5d6ff" Tff7b72+ Te6edf3nameTb4b4b4.Te6edf3replaceTb4b4b4(Tff7b72/\Te6edf3sTff7b72/Te6edf3gTb4b4b4, Ta5d6ff"Ta5d6ff"Tb4b4b4) Tff7b72+ Ta5d6ff"Ta5d6ff Ta5d6ff"Tb4b4b4;
Tff7b72const Te6edf3cur Tff7b72= Te6edf3thisTb4b4b4.Te6edf3composer Tff7b72|Tff7b72| Ta5d6ff"Ta5d6ff"Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3composer Tff7b72= Te6edf3cur Tff7b72+ Tb4b4b4(Te6edf3cur Tff7b72&Tff7b72& Tff7b72!Te6edf3curTb4b4b4.Te6edf3endsWithTb4b4b4(Ta5d6ff"Ta5d6ff Ta5d6ff"Tb4b4b4) Tff7b72? Ta5d6ff"Ta5d6ff Ta5d6ff" Tff7b72: Ta5d6ff"Ta5d6ff"Tb4b4b4) Tff7b72+ Te6edf3mentionTb4b4b4;
Te6edf3nextTickTb4b4b4(Tb4b4b4(Tb4b4b4) Tff7b72=Tff7b72> Tb4b4b4{
Tff7b72const Te6edf3el Tff7b72= Te6edf3thisTb4b4b4.Te6edf3$refsTb4b4b4.Te6edf3composerInputTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3el Tff7b72&Tff7b72& Tff7b72typeof Te6edf3elTb4b4b4.Te6edf3focus Tff7b72=Tff7b72=Tff7b72= Ta5d6ff"Ta5d6fffunctionTa5d6ff"Tb4b4b4) Tb4b4b4{
Te6edf3elTb4b4b4.Te6edf3focusTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3popoutChannelTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3thisTb4b4b4.Te6edf3selectedHubHash Tff7b72|Tff7b72| Tff7b72!Te6edf3thisTb4b4b4.Te6edf3selectedRoomTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3hub Tff7b72= Te6edf3encodeURIComponentTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3selectedHubHashTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3roomPath Tff7b72= Te6edf3encodeURIComponentTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3selectedRoomTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3url Tff7b72= `Te6edf3$Tb4b4b4{Te6edf3windowTb4b4b4.Te6edf3locationTb4b4b4.Te6edf3originTb4b4b4}Te6edf3$Tb4b4b4{Te6edf3windowTb4b4b4.Te6edf3locationTb4b4b4.Te6edf3pathnameTb4b4b4}#Tff7b72/Te6edf3popoutTff7b72/Te6edf3relayTff7b72-Te6edf3chatTff7b72/Te6edf3$Tb4b4b4{Te6edf3hubTb4b4b4}Tff7b72/Te6edf3$Tb4b4b4{Te6edf3roomPathTb4b4b4}`Tb4b4b4;
Te6edf3windowTb4b4b4.Te6edf3openTb4b4b4(Te6edf3urlTb4b4b4, Ta5d6ff"Ta5d6ff_blankTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffwidth=900,height=700,noopenerTa5d6ff"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3applyPopoutRouteTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3hubHash Tff7b72= Te6edf3thisTb4b4b4.Te6edf3hubHash Tff7b72|Tff7b72| Te6edf3thisTb4b4b4.Te6edf3$routeTff7b72?Tb4b4b4.Te6edf3paramsTff7b72?Tb4b4b4.Te6edf3hubHashTb4b4b4;
Tff7b72const Te6edf3routeRoom Tff7b72= Te6edf3thisTb4b4b4.Te6edf3room Tff7b72|Tff7b72| Te6edf3thisTb4b4b4.Te6edf3$routeTff7b72?Tb4b4b4.Te6edf3paramsTff7b72?Tb4b4b4.Te6edf3roomTb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3hubHashTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Te6edf3thisTb4b4b4.Te6edf3view Tff7b72= Ta5d6ff"Ta5d6ffchatTa5d6ff"Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3selectedHubHash Tff7b72= Te6edf3decodeURIComponentTb4b4b4(Te6edf3hubHashTb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3expandedHubsTb4b4b4[Te6edf3thisTb4b4b4.Te6edf3selectedHubHashTb4b4b4] Tff7b72= Tffa657trueTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3routeRoomTb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3selectRoomTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3selectedHubHashTb4b4b4, Te6edf3decodeURIComponentTb4b4b4(Te6edf3routeRoomTb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3applyRouteQueryTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3hubHash Tff7b72= Te6edf3thisTb4b4b4.Te6edf3$routeTff7b72?Tb4b4b4.Te6edf3queryTff7b72?Tb4b4b4.Te6edf3hubTb4b4b4;
Tff7b72const Te6edf3routeRoom Tff7b72= Te6edf3thisTb4b4b4.Te6edf3$routeTff7b72?Tb4b4b4.Te6edf3queryTff7b72?Tb4b4b4.Te6edf3roomTb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3hubHash Tff7b72|Tff7b72| Tff7b72typeof Te6edf3hubHash Tff7b72!Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ffstringTa5d6ff"Tb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Te6edf3thisTb4b4b4.Te6edf3view Tff7b72= Ta5d6ff"Ta5d6ffchatTa5d6ff"Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3selectedHubHash Tff7b72= Te6edf3hubHashTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3expandedHubsTb4b4b4[Te6edf3hubHashTb4b4b4] Tff7b72= Tffa657trueTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3routeRoom Tff7b72&Tff7b72& Tff7b72typeof Te6edf3routeRoom Tff7b72=Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ffstringTa5d6ff"Tb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3selectRoomTb4b4b4(Te6edf3hubHashTb4b4b4, Te6edf3routeRoomTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3messageKeyTb4b4b4(Te6edf3msgTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3relayMessageKeyTb4b4b4(Te6edf3msgTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3timelineEntryKeyTb4b4b4(Te6edf3entryTb4b4b4, Te6edf3index Tff7b72= T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3entryTb4b4b4.Te6edf3type Tff7b72=Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ffdateDividerTa5d6ff"Tb4b4b4) Tb4b4b4{
Tff7b72return `Te6edf3dateTff7b72-Te6edf3$Tb4b4b4{Te6edf3entryTb4b4b4.Te6edf3dayKeyTb4b4b4}Tff7b72-Te6edf3$Tb4b4b4{Te6edf3indexTb4b4b4}`Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3entryTb4b4b4.Te6edf3type Tff7b72=Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ffpresenceGroupTa5d6ff"Tb4b4b4) Tb4b4b4{
Tff7b72return `Te6edf3presenceTff7b72-Te6edf3$Tb4b4b4{Te6edf3entryTb4b4b4.Tffa657idTb4b4b4}Tff7b72-Te6edf3$Tb4b4b4{Te6edf3indexTb4b4b4}`Tb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3msgKey Tff7b72= Te6edf3thisTb4b4b4.Te6edf3messageKeyTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3msgTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3msgKey Tff7b72? `Te6edf3$Tb4b4b4{Te6edf3msgKeyTb4b4b4}Tff7b72-Te6edf3$Tb4b4b4{Te6edf3indexTb4b4b4}` Tff7b72: `Te6edf3idxTff7b72-Te6edf3$Tb4b4b4{Te6edf3indexTb4b4b4}`Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3isPresenceGroupExpandedTb4b4b4(Te6edf3groupIdTb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72!Tff7b72!Te6edf3thisTb4b4b4.Te6edf3expandedPresenceGroupsTb4b4b4[Te6edf3groupIdTb4b4b4]Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3togglePresenceGroupTb4b4b4(Te6edf3groupIdTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3groupIdTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Te6edf3thisTb4b4b4.Te6edf3expandedPresenceGroupsTb4b4b4[Te6edf3groupIdTb4b4b4] Tff7b72= Tff7b72!Te6edf3thisTb4b4b4.Te6edf3expandedPresenceGroupsTb4b4b4[Te6edf3groupIdTb4b4b4]Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3formatPresenceGroupSummaryTb4b4b4(Te6edf3entryTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3joined Tff7b72= Te6edf3NumberTb4b4b4(Te6edf3entryTff7b72?Tb4b4b4.Te6edf3joinedCountTb4b4b4) Tff7b72|Tff7b72| T79c0ff0Tb4b4b4;
Tff7b72const Te6edf3left Tff7b72= Te6edf3NumberTb4b4b4(Te6edf3entryTff7b72?Tb4b4b4.Te6edf3leftCountTb4b4b4) Tff7b72|Tff7b72| T79c0ff0Tb4b4b4;
Tff7b72const Te6edf3connection Tff7b72= Te6edf3NumberTb4b4b4(Te6edf3entryTff7b72?Tb4b4b4.Te6edf3connectionCountTb4b4b4) Tff7b72|Tff7b72| T79c0ff0Tb4b4b4;
Tff7b72const Te6edf3parts Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3joined Tff7b72> T79c0ff0Tb4b4b4) Tb4b4b4{
Te6edf3partsTb4b4b4.Te6edf3pushTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.presence_joinedTa5d6ff"Tb4b4b4, Tb4b4b4{ Te6edf3countTff7b72: Te6edf3joined Tb4b4b4}Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3left Tff7b72> T79c0ff0Tb4b4b4) Tb4b4b4{
Te6edf3partsTb4b4b4.Te6edf3pushTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.presence_leftTa5d6ff"Tb4b4b4, Tb4b4b4{ Te6edf3countTff7b72: Te6edf3left Tb4b4b4}Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3connection Tff7b72> T79c0ff0Tb4b4b4) Tb4b4b4{
Te6edf3partsTb4b4b4.Te6edf3pushTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.presence_connectionTa5d6ff"Tb4b4b4, Tb4b4b4{ Te6edf3countTff7b72: Te6edf3connection Tb4b4b4}Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3partsTb4b4b4.Te6edf3length Tff7b72=Tff7b72=Tff7b72= T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.presence_eventsTa5d6ff"Tb4b4b4, Tb4b4b4{
Te6edf3countTb4b4b4: Te6edf3ArrayTb4b4b4.Te6edf3isArrayTb4b4b4(Te6edf3entryTff7b72?Tb4b4b4.Te6edf3messagesTb4b4b4) Tff7b72? Te6edf3entryTb4b4b4.Te6edf3messagesTb4b4b4.Te6edf3length Tff7b72: T79c0ff0Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3partsTb4b4b4.Te6edf3joinTb4b4b4(Ta5d6ff"Ta5d6ff · Ta5d6ff"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3formatDateDividerLabelTb4b4b4(Te6edf3dayKeyTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3dayKey Tff7b72|Tff7b72| Tff7b72typeof Te6edf3dayKey Tff7b72!Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ffstringTa5d6ff"Tb4b4b4) Tb4b4b4{
Tff7b72return Ta5d6ff"Ta5d6ff"Tb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3p Tff7b72= Te6edf3dayKeyTb4b4b4.Te6edf3splitTb4b4b4(Ta5d6ff"Ta5d6ff-Ta5d6ff"Tb4b4b4)Tb4b4b4.Te6edf3mapTb4b4b4(Tb4b4b4(Te6edf3xTb4b4b4) Tff7b72=Tff7b72> Te6edf3parseIntTb4b4b4(Te6edf3xTb4b4b4, T79c0ff10Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3pTb4b4b4.Te6edf3length Tff7b72!Tff7b72=Tff7b72= T79c0ff3 Tff7b72|Tff7b72| Te6edf3pTb4b4b4.Te6edf3someTb4b4b4(Tb4b4b4(Te6edf3nTb4b4b4) Tff7b72=Tff7b72> Te6edf3NumberTb4b4b4.Te6edf3isNaNTb4b4b4(Te6edf3nTb4b4b4)Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3dayKeyTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3d Tff7b72= Te6edf3new Te6edf3DateTb4b4b4(Te6edf3pTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4, Te6edf3pTb4b4b4[T79c0ff1Tb4b4b4] Tff7b72- T79c0ff1Tb4b4b4, Te6edf3pTb4b4b4[T79c0ff2Tb4b4b4]Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3NumberTb4b4b4.Te6edf3isNaNTb4b4b4(Te6edf3dTb4b4b4.Te6edf3getTimeTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3dayKeyTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3startOf Tff7b72= Tb4b4b4(Te6edf3dtTb4b4b4) Tff7b72=Tff7b72> Tb4b4b4{
Tff7b72const Te6edf3x Tff7b72= Te6edf3new Te6edf3DateTb4b4b4(Te6edf3dtTb4b4b4)Tb4b4b4;
Te6edf3xTb4b4b4.Te6edf3setHoursTb4b4b4(T79c0ff0Tb4b4b4, T79c0ff0Tb4b4b4, T79c0ff0Tb4b4b4, T79c0ff0Tb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3xTb4b4b4.Te6edf3getTimeTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4;
Tff7b72const Te6edf3today Tff7b72= Te6edf3new Te6edf3DateTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3startOfTb4b4b4(Te6edf3dTb4b4b4) Tff7b72=Tff7b72=Tff7b72= Te6edf3startOfTb4b4b4(Te6edf3todayTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffmessages.date_divider_todayTa5d6ff"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3y Tff7b72= Te6edf3new Te6edf3DateTb4b4b4(Te6edf3todayTb4b4b4)Tb4b4b4;
Te6edf3yTb4b4b4.Te6edf3setDateTb4b4b4(Te6edf3yTb4b4b4.Te6edf3getDateTb4b4b4(Tb4b4b4) Tff7b72- T79c0ff1Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3startOfTb4b4b4(Te6edf3dTb4b4b4) Tff7b72=Tff7b72=Tff7b72= Te6edf3startOfTb4b4b4(Te6edf3yTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffmessages.date_divider_yesterdayTa5d6ff"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3try Tb4b4b4{
Tff7b72const Te6edf3loc Tff7b72= Tff7b72typeof Te6edf3thisTb4b4b4.Te6edf3$i18nTff7b72?Tb4b4b4.Te6edf3locale Tff7b72=Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ffstringTa5d6ff" Tff7b72? Te6edf3thisTb4b4b4.Te6edf3$i18nTb4b4b4.Te6edf3locale Tff7b72: Ta5d6ff"Ta5d6ffenTa5d6ff"Tb4b4b4;
Tff7b72return Te6edf3new Te6edf3IntlTb4b4b4.Te6edf3DateTimeFormatTb4b4b4(Te6edf3locTb4b4b4, Tb4b4b4{
Te6edf3weekdayTb4b4b4: Ta5d6ff"Ta5d6fflongTa5d6ff"Tb4b4b4,
Te6edf3yearTb4b4b4: Ta5d6ff"Ta5d6ffnumericTa5d6ff"Tb4b4b4,
Te6edf3monthTb4b4b4: Ta5d6ff"Ta5d6fflongTa5d6ff"Tb4b4b4,
Te6edf3dayTb4b4b4: Ta5d6ff"Ta5d6ffnumericTa5d6ff"Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4.Te6edf3formatTb4b4b4(Te6edf3dTb4b4b4)Tb4b4b4;
Tb4b4b4} Te6edf3catch Tb4b4b4{
Tff7b72return Te6edf3dayKeyTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3scrollToMessageTb4b4b4(Te6edf3msgTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3msgTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Te6edf3thisTb4b4b4.Te6edf3showSearch Tff7b72= Tffa657falseTb4b4b4;
Tff7b72const Te6edf3key Tff7b72= Te6edf3thisTb4b4b4.Te6edf3messageKeyTb4b4b4(Te6edf3msgTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3thisTb4b4b4.Te6edf3useVirtualMessageListTb4b4b4) Tb4b4b4{
Te6edf3nextTickTb4b4b4(Tb4b4b4(Tb4b4b4) Tff7b72=Tff7b72> Te6edf3thisTb4b4b4.Te6edf3$refsTb4b4b4.Te6edf3messageListVirtualTff7b72?Tb4b4b4.Te6edf3scrollToMessageKeyTb4b4b4(Te6edf3keyTb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72returnTb4b4b4;
Tb4b4b4}
Te6edf3nextTickTb4b4b4(Tb4b4b4(Tb4b4b4) Tff7b72=Tff7b72> Tb4b4b4{
Tff7b72const Te6edf3el Tff7b72= Te6edf3thisTb4b4b4.Te6edf3$refsTb4b4b4.Te6edf3messageListTff7b72?Tb4b4b4.Te6edf3querySelectorTb4b4b4(`Tb4b4b4[Te6edf3dataTff7b72-Te6edf3msgTff7b72-Te6edf3keyTff7b72=Ta5d6ff"Ta5d6ff${key}Ta5d6ff"Tb4b4b4]`Tb4b4b4)Tb4b4b4;
Te6edf3elTff7b72?Tb4b4b4.Te6edf3scrollIntoViewTb4b4b4(Tb4b4b4{ Te6edf3blockTff7b72: Ta5d6ff"Ta5d6ffcenterTa5d6ff"Tb4b4b4, Te6edf3behaviorTff7b72: Ta5d6ff"Ta5d6ffsmoothTa5d6ff" Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3displayNameTb4b4b4(Te6edf3msgTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3msgTb4b4b4.Te6edf3nickTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3msgTb4b4b4.Te6edf3nickTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3msgTb4b4b4.Te6edf3srcTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3msgTb4b4b4.Te6edf3srcTb4b4b4.Te6edf3sliceTb4b4b4(T79c0ff0Tb4b4b4, T79c0ff12Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.systemTa5d6ff"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3colorForHashTb4b4b4(Te6edf3hashTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3hashTb4b4b4) Tb4b4b4{
Tff7b72return Ta5d6ff"Ta5d6ffinheritTa5d6ff"Tb4b4b4;
Tb4b4b4}
Te6edf3let Te6edf3sum Tff7b72= T79c0ff0Tb4b4b4;
Tff7b72for Tb4b4b4(Te6edf3let Te6edf3i Tff7b72= T79c0ff0Tb4b4b4; Te6edf3i Tff7b72< Te6edf3hashTb4b4b4.Te6edf3lengthTb4b4b4; Te6edf3iTff7b72+Tff7b72+Tb4b4b4) Tb4b4b4{
Te6edf3sum Tff7b72= Tb4b4b4(Te6edf3sum Tff7b72+ Te6edf3hashTb4b4b4.Te6edf3charCodeAtTb4b4b4(Te6edf3iTb4b4b4)Tb4b4b4) Tff7b72% Te6edf3NAME_COLORSTb4b4b4.Te6edf3lengthTb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3NAME_COLORSTb4b4b4[Te6edf3sumTb4b4b4]Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3nameStyleTb4b4b4(Te6edf3msgTb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4{ Te6edf3colorTff7b72: Te6edf3thisTb4b4b4.Te6edf3colorForHashTb4b4b4(Te6edf3msgTb4b4b4.Te6edf3srcTb4b4b4) Tb4b4b4}Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3formatTimeTb4b4b4(Te6edf3tsTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3tsTb4b4b4) Tb4b4b4{
Tff7b72return Ta5d6ff"Ta5d6ff"Tb4b4b4;
Tb4b4b4}
Te6edf3try Tb4b4b4{
Tff7b72return Te6edf3new Td2a8ffDateTb4b4b4(Te6edf3tsTb4b4b4)Tb4b4b4.Te6edf3toLocaleTimeStringTb4b4b4(Tb4b4b4[Tb4b4b4]Tb4b4b4, Tb4b4b4{ Te6edf3hourTff7b72: Ta5d6ff"Ta5d6ff2-digitTa5d6ff"Tb4b4b4, Te6edf3minuteTff7b72: Ta5d6ff"Ta5d6ff2-digitTa5d6ff" Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4} Te6edf3catch Tb4b4b4{
Tff7b72return Ta5d6ff"Ta5d6ff"Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3renderMessageHtmlTb4b4b4(Te6edf3textTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3MarkdownRendererTb4b4b4.Te6edf3renderBasicTb4b4b4(Te6edf3textTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3handleMessageHtmlClickTb4b4b4(Te6edf3eventTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3hex32 Tff7b72= Tff7b72/Tff7b72^Tb4b4b4[Te6edf3aTff7b72-Te6edf3fATff7b72-Te6edf3F0T79c0ff-9Tb4b4b4]Tb4b4b4{T79c0ff32Tb4b4b4}Te6edf3$Tff7b72/Tb4b4b4;
Tff7b72const Te6edf3routeName Tff7b72= Te6edf3thisTb4b4b4.Te6edf3$routeTff7b72?Tb4b4b4.Te6edf3metaTff7b72?Tb4b4b4.Te6edf3isPopout Tff7b72? Ta5d6ff"Ta5d6ffnomadnetwork-popoutTa5d6ff" Tff7b72: Ta5d6ff"Ta5d6ffnomadnetworkTa5d6ff"Tb4b4b4;
Te6edf3handleRichHtmlLinkClickTb4b4b4(Te6edf3eventTb4b4b4, Tb4b4b4{
Te6edf3onNomadUrlTb4b4b4: Tb4b4b4(Te6edf3urlTb4b4b4) Tff7b72=Tff7b72> Tb4b4b4{
Tff7b72const Tb4b4b4[Te6edf3hashTb4b4b4, Tb4b4b4.Tb4b4b4.Tb4b4b4.Te6edf3pathPartsTb4b4b4] Tff7b72= Te6edf3urlTb4b4b4.Te6edf3splitTb4b4b4(Ta5d6ff"Ta5d6ff:Ta5d6ff"Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3path Tff7b72= Te6edf3pathPartsTb4b4b4.Te6edf3joinTb4b4b4(Ta5d6ff"Ta5d6ff:Ta5d6ff"Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3hex32Tb4b4b4.Te6edf3testTb4b4b4(Te6edf3hashTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Te6edf3thisTb4b4b4.Te6edf3$routerTb4b4b4.Te6edf3pushTb4b4b4(Tb4b4b4{
Te6edf3nameTb4b4b4: Te6edf3routeNameTb4b4b4,
Te6edf3paramsTb4b4b4: Tb4b4b4{ Te6edf3destinationHashTff7b72: Te6edf3hash Tb4b4b4}Tb4b4b4,
Te6edf3queryTb4b4b4: Tb4b4b4{ Te6edf3path Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3onLxmfAddressTb4b4b4: Tb4b4b4(Te6edf3addressTb4b4b4) Tff7b72=Tff7b72> Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3$routerTb4b4b4.Te6edf3pushTb4b4b4(Tb4b4b4{
Te6edf3nameTb4b4b4: Ta5d6ff"Ta5d6ffmessagesTa5d6ff"Tb4b4b4,
Te6edf3paramsTb4b4b4: Tb4b4b4{ Te6edf3destinationHashTff7b72: Te6edf3address Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3formatHashTb4b4b4(Te6edf3hashTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3hashTb4b4b4) Tb4b4b4{
Tff7b72return Ta5d6ff"Ta5d6ff-Ta5d6ff"Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3UtilsTb4b4b4.Te6edf3formatDestinationHashTb4b4b4(Te6edf3hashTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3timeAgoTb4b4b4(Te6edf3datetimeTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3UtilsTb4b4b4.Te6edf3formatTimeAgoForI18nTb4b4b4(Te6edf3datetimeTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3encodeRoomTb4b4b4(Te6edf3roomTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3encodeURIComponentTb4b4b4(Te6edf3roomTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3async Te6edf3fetchHubsTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3try Tb4b4b4{
Tff7b72const Te6edf3response Tff7b72= Te6edf3await Te6edf3windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3getTb4b4b4(Ta5d6ff"Ta5d6ff/api/v1/rrc/hubsTa5d6ff"Tb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3hubs Tff7b72= Te6edf3responseTb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3hubs Tff7b72|Tff7b72| Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3thisTb4b4b4.Te6edf3selectedHubHash Tff7b72&Tff7b72& Te6edf3thisTb4b4b4.Te6edf3hubsTb4b4b4.Te6edf3length Tff7b72> T79c0ff0Tb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3selectedHubHash Tff7b72= Te6edf3thisTb4b4b4.Te6edf3hubsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3hub_hashTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3expandedHubsTb4b4b4[Te6edf3thisTb4b4b4.Te6edf3hubsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3hub_hashTb4b4b4] Tff7b72= Tffa657trueTb4b4b4;
Tb4b4b4}
Te6edf3thisTb4b4b4.Te6edf3updateUnreadBadgeTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Te6edf3catch Tb4b4b4{
T8b949e// relay chat may be unavailable for this identity
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3selectHubTb4b4b4(Te6edf3hubHashTb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3selectedHubHash Tff7b72= Te6edf3hubHashTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3async Te6edf3selectRoomTb4b4b4(Te6edf3hubHashTb4b4b4, Te6edf3roomTb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3selectedHubHash Tff7b72= Te6edf3hubHashTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3selectedRoom Tff7b72= Te6edf3roomTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3expandedHubsTb4b4b4[Te6edf3hubHashTb4b4b4] Tff7b72= Tffa657trueTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3hasMorePrevious Tff7b72= Tffa657falseTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3expandedPresenceGroups Tff7b72= Tb4b4b4{Tb4b4b4}Tb4b4b4;
T8b949e// Clear before fetch so only websocket arrivals during the request are merged back.
Te6edf3thisTb4b4b4.Te6edf3messages Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3members Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72const Te6edf3seq Tff7b72= Tff7b72+Tff7b72+Te6edf3thisTb4b4b4.Te6edf3roomSelectSequenceTb4b4b4;
Te6edf3try Tb4b4b4{
Tff7b72const Te6edf3response Tff7b72= Te6edf3await Te6edf3windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3getTb4b4b4(
`Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3rrcTff7b72/Te6edf3hubsTff7b72/Te6edf3$Tb4b4b4{Te6edf3hubHashTb4b4b4}Tff7b72/Te6edf3roomsTff7b72/Te6edf3$Tb4b4b4{Te6edf3thisTb4b4b4.Te6edf3encodeRoomTb4b4b4(Te6edf3roomTb4b4b4)Tb4b4b4}Tff7b72/Te6edf3messages`Tb4b4b4,
Tb4b4b4{ Te6edf3paramsTff7b72: Tb4b4b4{ Te6edf3limitTff7b72: Te6edf3RELAY_MESSAGES_INITIAL_PAGE_SIZE Tb4b4b4} Tb4b4b4}
Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3seq Tff7b72!Tff7b72=Tff7b72= Te6edf3thisTb4b4b4.Te6edf3roomSelectSequenceTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3loaded Tff7b72= Te6edf3responseTb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3messages Tff7b72|Tff7b72| Tb4b4b4[Tb4b4b4]Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3messages Tff7b72= Te6edf3mergeRelayMessagesTb4b4b4(Te6edf3loadedTb4b4b4, Te6edf3thisTb4b4b4.Te6edf3messagesTb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3members Tff7b72= Te6edf3responseTb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3members Tff7b72|Tff7b72| Tb4b4b4[Tb4b4b4]Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3hasMorePrevious Tff7b72= Tffa657BooleanTb4b4b4(Te6edf3responseTb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3has_moreTb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3scrollToBottomTb4b4b4(Tb4b4b4)Tb4b4b4;
T8b949e// Always dismiss unread for the opened room (including layout restore /
T8b949e// page navigation when the room was already selected).
Te6edf3await Te6edf3thisTb4b4b4.Te6edf3markRoomReadTb4b4b4(Te6edf3hubHashTb4b4b4, Te6edf3roomTb4b4b4, Tb4b4b4{ Te6edf3refreshHubsTff7b72: Tffa657true Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3persistRelayLayoutTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Te6edf3catch Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3seq Tff7b72!Tff7b72=Tff7b72= Te6edf3thisTb4b4b4.Te6edf3roomSelectSequenceTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Te6edf3thisTb4b4b4.Te6edf3hasMorePrevious Tff7b72= Tffa657falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3clearLocalRoomUnreadTb4b4b4(Te6edf3hubHashTb4b4b4, Te6edf3roomTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3hub Tff7b72= Te6edf3thisTb4b4b4.Te6edf3hubsTb4b4b4.Te6edf3findTb4b4b4(Tb4b4b4(Te6edf3hTb4b4b4) Tff7b72=Tff7b72> Te6edf3hTb4b4b4.Te6edf3hub_hash Tff7b72=Tff7b72=Tff7b72= Te6edf3hubHashTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3hubTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3ArrayTb4b4b4.Te6edf3isArrayTb4b4b4(Te6edf3hubTb4b4b4.Te6edf3mention_roomsTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3hubTb4b4b4.Te6edf3mention_rooms Tff7b72= Te6edf3hubTb4b4b4.Te6edf3mention_roomsTb4b4b4.Te6edf3filterTb4b4b4(Tb4b4b4(Te6edf3rTb4b4b4) Tff7b72=Tff7b72> Te6edf3r Tff7b72!Tff7b72=Tff7b72= Te6edf3roomTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3ArrayTb4b4b4.Te6edf3isArrayTb4b4b4(Te6edf3hubTb4b4b4.Te6edf3unread_roomsTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3hubTb4b4b4.Te6edf3unread_rooms Tff7b72= Te6edf3hubTb4b4b4.Te6edf3unread_roomsTb4b4b4.Te6edf3filterTb4b4b4(Tb4b4b4(Te6edf3rTb4b4b4) Tff7b72=Tff7b72> Te6edf3r Tff7b72!Tff7b72=Tff7b72= Te6edf3roomTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3hubTb4b4b4.Te6edf3unread_counts Tff7b72&Tff7b72& Tff7b72typeof Te6edf3hubTb4b4b4.Te6edf3unread_counts Tff7b72=Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ffobjectTa5d6ff"Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3next Tff7b72= Tb4b4b4{ Tb4b4b4.Tb4b4b4.Tb4b4b4.Te6edf3hubTb4b4b4.Te6edf3unread_counts Tb4b4b4}Tb4b4b4;
Te6edf3delete Te6edf3nextTb4b4b4[Te6edf3roomTb4b4b4]Tb4b4b4;
Te6edf3hubTb4b4b4.Te6edf3unread_counts Tff7b72= Te6edf3nextTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3hubTb4b4b4.Te6edf3total_unread Tff7b72=Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ffnumberTa5d6ff"Tb4b4b4) Tb4b4b4{
Te6edf3hubTb4b4b4.Te6edf3total_unread Tff7b72= Te6edf3ObjectTb4b4b4.Te6edf3valuesTb4b4b4(Te6edf3hubTb4b4b4.Te6edf3unread_counts Tff7b72|Tff7b72| Tb4b4b4{Tb4b4b4}Tb4b4b4)Tb4b4b4.Te6edf3reduceTb4b4b4(Tb4b4b4(Te6edf3sumTb4b4b4, Te6edf3nTb4b4b4) Tff7b72=Tff7b72> Te6edf3sum Tff7b72+ Tb4b4b4(Te6edf3NumberTb4b4b4(Te6edf3nTb4b4b4) Tff7b72|Tff7b72| T79c0ff0Tb4b4b4)Tb4b4b4, T79c0ff0Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3thisTb4b4b4.Te6edf3updateUnreadBadgeTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3async Te6edf3markRoomReadTb4b4b4(Te6edf3hubHashTb4b4b4, Te6edf3roomTb4b4b4, Tb4b4b4{ Te6edf3refreshHubs Tff7b72= Tffa657false Tb4b4b4} Tff7b72= Tb4b4b4{Tb4b4b4}Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3hubHash Tff7b72|Tff7b72| Tff7b72!Te6edf3roomTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Te6edf3thisTb4b4b4.Te6edf3clearLocalRoomUnreadTb4b4b4(Te6edf3hubHashTb4b4b4, Te6edf3roomTb4b4b4)Tb4b4b4;
Te6edf3try Tb4b4b4{
Te6edf3await Te6edf3windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(`Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3rrcTff7b72/Te6edf3hubsTff7b72/Te6edf3$Tb4b4b4{Te6edf3hubHashTb4b4b4}Tff7b72/Te6edf3roomsTff7b72/Te6edf3$Tb4b4b4{Te6edf3thisTb4b4b4.Te6edf3encodeRoomTb4b4b4(Te6edf3roomTb4b4b4)Tb4b4b4}Tff7b72/Te6edf3read`Tb4b4b4)Tb4b4b4;
Tb4b4b4} Te6edf3catch Tb4b4b4{
T8b949e// GET messages already marks active/read on the server. Ignore duplicate failures.
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3refreshHubsTb4b4b4) Tb4b4b4{
Te6edf3await Te6edf3thisTb4b4b4.Te6edf3fetchHubsTb4b4b4(Tb4b4b4)Tb4b4b4;
T8b949e// Keep dismiss sticky if a concurrent hubs fetch still had the old unread.
Te6edf3thisTb4b4b4.Te6edf3clearLocalRoomUnreadTb4b4b4(Te6edf3hubHashTb4b4b4, Te6edf3roomTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3updateUnreadBadgeTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3async Te6edf3loadPreviousMessagesTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3thisTb4b4b4.Te6edf3isLoadingPrevious Tff7b72|Tff7b72| Tff7b72!Te6edf3thisTb4b4b4.Te6edf3hasMorePrevious Tff7b72|Tff7b72| Tff7b72!Te6edf3thisTb4b4b4.Te6edf3selectedHubHash Tff7b72|Tff7b72| Tff7b72!Te6edf3thisTb4b4b4.Te6edf3selectedRoomTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3beforeSeq Tff7b72= Te6edf3thisTb4b4b4.Te6edf3oldestLoadedSeqTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3beforeSeq Tff7b72=Tff7b72=Tff7b72= Te6edf3nullTb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3hasMorePrevious Tff7b72= Tffa657falseTb4b4b4;
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3seq Tff7b72= Te6edf3thisTb4b4b4.Te6edf3roomSelectSequenceTb4b4b4;
Tff7b72const Te6edf3hubHash Tff7b72= Te6edf3thisTb4b4b4.Te6edf3selectedHubHashTb4b4b4;
Tff7b72const Te6edf3room Tff7b72= Te6edf3thisTb4b4b4.Te6edf3selectedRoomTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3loadPreviousInFlight Tff7b72+Tff7b72= T79c0ff1Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3isLoadingPrevious Tff7b72= Tffa657trueTb4b4b4;
Te6edf3try Tb4b4b4{
Tff7b72const Te6edf3response Tff7b72= Te6edf3await Te6edf3windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3getTb4b4b4(
`Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3rrcTff7b72/Te6edf3hubsTff7b72/Te6edf3$Tb4b4b4{Te6edf3hubHashTb4b4b4}Tff7b72/Te6edf3roomsTff7b72/Te6edf3$Tb4b4b4{Te6edf3thisTb4b4b4.Te6edf3encodeRoomTb4b4b4(Te6edf3roomTb4b4b4)Tb4b4b4}Tff7b72/Te6edf3messages`Tb4b4b4,
Tb4b4b4{ Te6edf3paramsTff7b72: Tb4b4b4{ Te6edf3limitTff7b72: Te6edf3RELAY_MESSAGES_PREVIOUS_PAGE_SIZETb4b4b4, Te6edf3before_seqTff7b72: Te6edf3beforeSeq Tb4b4b4} Tb4b4b4}
Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3seq Tff7b72!Tff7b72=Tff7b72= Te6edf3thisTb4b4b4.Te6edf3roomSelectSequence Tff7b72|Tff7b72| Te6edf3hubHash Tff7b72!Tff7b72=Tff7b72= Te6edf3thisTb4b4b4.Te6edf3selectedHubHash Tff7b72|Tff7b72| Te6edf3room Tff7b72!Tff7b72=Tff7b72= Te6edf3thisTb4b4b4.Te6edf3selectedRoomTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3older Tff7b72= Te6edf3responseTb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3messages Tff7b72|Tff7b72| Tb4b4b4[Tb4b4b4]Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3hasMorePrevious Tff7b72= Tffa657BooleanTb4b4b4(Te6edf3responseTb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3has_moreTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3olderTb4b4b4.Te6edf3length Tff7b72=Tff7b72=Tff7b72= T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3existingSeqs Tff7b72= Te6edf3new Te6edf3SetTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3messagesTb4b4b4.Te6edf3filterTb4b4b4(Tb4b4b4(Te6edf3mTb4b4b4) Tff7b72=Tff7b72> Te6edf3m Tff7b72&Tff7b72& Te6edf3mTb4b4b4.Te6edf3seq Tff7b72!Tff7b72= Te6edf3nullTb4b4b4)Tb4b4b4.Te6edf3mapTb4b4b4(Tb4b4b4(Te6edf3mTb4b4b4) Tff7b72=Tff7b72> Te6edf3mTb4b4b4.Te6edf3seqTb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3uniqueOlder Tff7b72= Te6edf3olderTb4b4b4.Te6edf3filterTb4b4b4(Tb4b4b4(Te6edf3mTb4b4b4) Tff7b72=Tff7b72> Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3mTb4b4b4) Tb4b4b4{
Tff7b72return Tffa657falseTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3mTb4b4b4.Te6edf3seq Tff7b72!Tff7b72= Te6edf3null Tff7b72&Tff7b72& Te6edf3existingSeqsTb4b4b4.Te6edf3hasTb4b4b4(Te6edf3mTb4b4b4.Te6edf3seqTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72return Tffa657falseTb4b4b4;
Tb4b4b4}
Tff7b72return Tff7b72!Te6edf3relayMessageAlreadyPresentTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3messagesTb4b4b4, Te6edf3mTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3uniqueOlderTb4b4b4.Te6edf3length Tff7b72=Tff7b72=Tff7b72= T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3scrollEl Tff7b72= Te6edf3thisTb4b4b4.Te6edf3useVirtualMessageList Tff7b72? Te6edf3null Tff7b72: Te6edf3thisTb4b4b4.Te6edf3$refsTb4b4b4.Te6edf3messageListTb4b4b4;
Tff7b72const Te6edf3prevScrollHeight Tff7b72= Te6edf3scrollEl Tff7b72? Te6edf3scrollElTb4b4b4.Te6edf3scrollHeight Tff7b72: T79c0ff0Tb4b4b4;
Tff7b72const Te6edf3prevScrollTop Tff7b72= Te6edf3scrollEl Tff7b72? Te6edf3scrollElTb4b4b4.Te6edf3scrollTop Tff7b72: T79c0ff0Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3messages Tff7b72= Tb4b4b4[Tb4b4b4.Tb4b4b4.Tb4b4b4.Te6edf3uniqueOlderTb4b4b4, Tb4b4b4.Tb4b4b4.Tb4b4b4.Te6edf3thisTb4b4b4.Te6edf3messagesTb4b4b4]Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3scrollElTb4b4b4) Tb4b4b4{
Te6edf3nextTickTb4b4b4(Tb4b4b4(Tb4b4b4) Tff7b72=Tff7b72> Tb4b4b4{
Tff7b72const Te6edf3delta Tff7b72= Te6edf3scrollElTb4b4b4.Te6edf3scrollHeight Tff7b72- Te6edf3prevScrollHeightTb4b4b4;
Te6edf3scrollElTb4b4b4.Te6edf3scrollTop Tff7b72= Te6edf3prevScrollTop Tff7b72+ Te6edf3deltaTb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4} Te6edf3catch Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3hasMorePrevious Tff7b72= Tffa657falseTb4b4b4;
Tb4b4b4} Te6edf3finally Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3loadPreviousInFlight Tff7b72= Te6edf3MathTb4b4b4.Te6edf3maxTb4b4b4(T79c0ff0Tb4b4b4, Te6edf3thisTb4b4b4.Te6edf3loadPreviousInFlight Tff7b72- T79c0ff1Tb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3isLoadingPrevious Tff7b72= Te6edf3thisTb4b4b4.Te6edf3loadPreviousInFlight Tff7b72> T79c0ff0Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3onMessagesScrollTb4b4b4(Te6edf3eventTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3el Tff7b72= Te6edf3eventTb4b4b4.Te6edf3targetTb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3el Tff7b72|Tff7b72| Te6edf3thisTb4b4b4.Te6edf3isLoadingPrevious Tff7b72|Tff7b72| Tff7b72!Te6edf3thisTb4b4b4.Te6edf3hasMorePreviousTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3elTb4b4b4.Te6edf3scrollTop Tff7b72<Tff7b72= Te6edf3LOAD_PREVIOUS_SCROLL_EDGE_PXTb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3loadPreviousMessagesTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3getMessagesScrollElementTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3thisTb4b4b4.Te6edf3$refsTb4b4b4.Te6edf3messageList Tff7b72?Tff7b72? Te6edf3nullTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3async Te6edf3refreshMembersTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3thisTb4b4b4.Te6edf3selectedHubHash Tff7b72|Tff7b72| Tff7b72!Te6edf3thisTb4b4b4.Te6edf3selectedRoomTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Te6edf3try Tb4b4b4{
Tff7b72const Te6edf3response Tff7b72= Te6edf3await Te6edf3windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3getTb4b4b4(
`Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3rrcTff7b72/Te6edf3hubsTff7b72/Te6edf3$Tb4b4b4{Te6edf3thisTb4b4b4.Te6edf3selectedHubHashTb4b4b4}Tff7b72/Te6edf3roomsTff7b72/Te6edf3$Tb4b4b4{Te6edf3thisTb4b4b4.Te6edf3encodeRoomTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3selectedRoomTb4b4b4)Tb4b4b4}Tff7b72/Te6edf3messages`
Tb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3members Tff7b72= Te6edf3responseTb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3members Tff7b72|Tff7b72| Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tb4b4b4} Te6edf3catch Tb4b4b4{
T8b949e// ignore member refresh failures
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3scrollToBottomTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3nextTickTb4b4b4(Tb4b4b4(Tb4b4b4) Tff7b72=Tff7b72> Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3thisTb4b4b4.Te6edf3useVirtualMessageList Tff7b72&Tff7b72& Te6edf3thisTb4b4b4.Te6edf3$refsTb4b4b4.Te6edf3messageListVirtualTb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3$refsTb4b4b4.Te6edf3messageListVirtualTb4b4b4.Te6edf3scrollToBottomTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3el Tff7b72= Te6edf3thisTb4b4b4.Te6edf3$refsTb4b4b4.Te6edf3messageListTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3elTb4b4b4) Tb4b4b4{
Te6edf3elTb4b4b4.Te6edf3scrollTop Tff7b72= Te6edf3elTb4b4b4.Te6edf3scrollHeightTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3async Te6edf3sendMessageTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3text Tff7b72= Te6edf3thisTb4b4b4.Te6edf3composerTb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3text Tff7b72|Tff7b72| Tff7b72!Te6edf3thisTb4b4b4.Te6edf3selectedHub Tff7b72|Tff7b72| Tff7b72!Te6edf3thisTb4b4b4.Te6edf3selectedRoomTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3isAction Tff7b72= Te6edf3textTb4b4b4.Te6edf3startsWithTb4b4b4(Ta5d6ff"Ta5d6ff/me Ta5d6ff"Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3payload Tff7b72= Te6edf3isAction Tff7b72? Tb4b4b4{ Te6edf3textTff7b72: Te6edf3textTb4b4b4.Te6edf3sliceTb4b4b4(T79c0ff4Tb4b4b4)Tb4b4b4, Te6edf3actionTff7b72: Tffa657true Tb4b4b4} Tff7b72: Tb4b4b4{ Te6edf3text Tb4b4b4}Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3sending Tff7b72= Tffa657trueTb4b4b4;
Te6edf3try Tb4b4b4{
Te6edf3await Te6edf3windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(
`Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3rrcTff7b72/Te6edf3hubsTff7b72/Te6edf3$Tb4b4b4{Te6edf3thisTb4b4b4.Te6edf3selectedHubHashTb4b4b4}Tff7b72/Te6edf3roomsTff7b72/Te6edf3$Tb4b4b4{Te6edf3thisTb4b4b4.Te6edf3encodeRoomTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3selectedRoomTb4b4b4)Tb4b4b4}Tff7b72/Te6edf3messages`Tb4b4b4,
Te6edf3payload
Tb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3composer Tff7b72= Ta5d6ff"Ta5d6ff"Tb4b4b4;
Tb4b4b4} Te6edf3catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3eTb4b4b4.Te6edf3responseTff7b72?Tb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3message Tff7b72|Tff7b72| Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.send_failedTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4} Te6edf3finally Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3sending Tff7b72= Tffa657falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3async Te6edf3joinRoomTb4b4b4(Te6edf3hubTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3room Tff7b72= Te6edf3thisTb4b4b4.Te6edf3joinRoomNameTb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3roomTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3warningTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.room_requiredTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3key Tff7b72= Te6edf3thisTb4b4b4.Te6edf3joinRoomKeyTb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4) Tff7b72|Tff7b72| Te6edf3nullTb4b4b4;
Tff7b72const Te6edf3joined Tff7b72= Te6edf3await Te6edf3thisTb4b4b4.Te6edf3joinRoomByNameTb4b4b4(Te6edf3hubTb4b4b4, Te6edf3roomTb4b4b4, Tb4b4b4{ Te6edf3key Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3joinedTb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3joinRoomName Tff7b72= Ta5d6ff"Ta5d6ff"Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3joinRoomKey Tff7b72= Ta5d6ff"Ta5d6ff"Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3async Te6edf3joinAvailableRoomTb4b4b4(Te6edf3hubTb4b4b4, Te6edf3roomTb4b4b4) Tb4b4b4{
Te6edf3await Te6edf3thisTb4b4b4.Te6edf3joinRoomByNameTb4b4b4(Te6edf3hubTb4b4b4, Te6edf3roomTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3isBadKeyErrorTextTb4b4b4(Te6edf3textTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3text Tff7b72!Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ffstringTa5d6ff"Tb4b4b4) Tb4b4b4{
Tff7b72return Tffa657falseTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3lowered Tff7b72= Te6edf3textTb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3toLowerCaseTb4b4b4(Tb4b4b4)Tb4b4b4;
T8b949e// Match backend: require "bad key" so mode hints like "enable +k" do not wipe storage.
Tff7b72return Te6edf3loweredTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"Ta5d6ffbad key (+k)Ta5d6ff"Tb4b4b4) Tff7b72|Tff7b72| Te6edf3loweredTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"Ta5d6ffbad keyTa5d6ff"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3async Te6edf3promptForRoomKeyTb4b4b4(Te6edf3roomTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3entered Tff7b72= Te6edf3await Te6edf3DialogUtilsTb4b4b4.Te6edf3promptTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.room_key_promptTa5d6ff"Tb4b4b4, Tb4b4b4{ Te6edf3roomTff7b72: Te6edf3room Tff7b72|Tff7b72| Ta5d6ff"Ta5d6ff" Tb4b4b4}Tb4b4b4)Tb4b4b4, Ta5d6ff"Ta5d6ff"Tb4b4b4, Tb4b4b4{
Te6edf3inputTypeTb4b4b4: Ta5d6ff"Ta5d6ffpasswordTa5d6ff"Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3entered Tff7b72=Tff7b72= Te6edf3nullTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3nullTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3key Tff7b72= Te6edf3StringTb4b4b4(Te6edf3enteredTb4b4b4)Tb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3key Tff7b72|Tff7b72| Te6edf3nullTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3async Te6edf3handleBadKeyErrorTb4b4b4(Te6edf3hubHashTb4b4b4, Te6edf3roomTb4b4b4, Te6edf3messageTextTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3roomName Tff7b72= Tb4b4b4(Te6edf3room Tff7b72|Tff7b72| Ta5d6ff"Ta5d6ff"Tb4b4b4)Tb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3toLowerCaseTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3hubHash Tff7b72|Tff7b72| Tff7b72!Te6edf3roomNameTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3messageText Tff7b72|Tff7b72| Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.bad_keyTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3flightKey Tff7b72= `Te6edf3$Tb4b4b4{Te6edf3hubHashTb4b4b4}Tff7b72:Te6edf3$Tb4b4b4{Te6edf3roomNameTb4b4b4}`Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3thisTb4b4b4.Te6edf3badKeyPromptInFlight Tff7b72=Tff7b72=Tff7b72= Te6edf3flightKeyTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Te6edf3thisTb4b4b4.Te6edf3badKeyPromptInFlight Tff7b72= Te6edf3flightKeyTb4b4b4;
Te6edf3try Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3warningTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.bad_keyTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3hub Tff7b72= Te6edf3thisTb4b4b4.Te6edf3hubsTb4b4b4.Te6edf3findTb4b4b4(Tb4b4b4(Te6edf3hTb4b4b4) Tff7b72=Tff7b72> Te6edf3hTb4b4b4.Te6edf3hub_hash Tff7b72=Tff7b72=Tff7b72= Te6edf3hubHashTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3hubTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Te6edf3try Tb4b4b4{
Te6edf3await Te6edf3windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3deleteTb4b4b4(`Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3rrcTff7b72/Te6edf3hubsTff7b72/Te6edf3$Tb4b4b4{Te6edf3hubHashTb4b4b4}Tff7b72/Te6edf3roomsTff7b72/Te6edf3$Tb4b4b4{Te6edf3thisTb4b4b4.Te6edf3encodeRoomTb4b4b4(Te6edf3roomNameTb4b4b4)Tb4b4b4}Tff7b72/Te6edf3key`Tb4b4b4)Tb4b4b4;
Tb4b4b4} Te6edf3catch Tb4b4b4{
T8b949e// Stored key may already be gone after the hub ERROR path.
Tb4b4b4}
Tff7b72const Te6edf3key Tff7b72= Te6edf3await Te6edf3thisTb4b4b4.Te6edf3promptForRoomKeyTb4b4b4(Te6edf3roomNameTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3keyTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Te6edf3await Te6edf3thisTb4b4b4.Te6edf3joinRoomByNameTb4b4b4(Te6edf3hubTb4b4b4, Te6edf3roomNameTb4b4b4, Tb4b4b4{ Te6edf3keyTb4b4b4, Te6edf3promptedTff7b72: Tffa657true Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4} Te6edf3finally Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3thisTb4b4b4.Te6edf3badKeyPromptInFlight Tff7b72=Tff7b72=Tff7b72= Te6edf3flightKeyTb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3badKeyPromptInFlight Tff7b72= Te6edf3nullTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3async Te6edf3joinRoomByNameTb4b4b4(Te6edf3hubTb4b4b4, Te6edf3roomTb4b4b4, Tb4b4b4{ Te6edf3key Tff7b72= Te6edf3nullTb4b4b4, Te6edf3prompted Tff7b72= Tffa657false Tb4b4b4} Tff7b72= Tb4b4b4{Tb4b4b4}Tb4b4b4) Tb4b4b4{
Te6edf3try Tb4b4b4{
Tff7b72const Te6edf3payload Tff7b72= Tb4b4b4{ Te6edf3roomTb4b4b4, Te6edf3rememberTff7b72: Tffa657true Tb4b4b4}Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3keyTb4b4b4) Tb4b4b4{
Te6edf3payloadTb4b4b4.Te6edf3key Tff7b72= Te6edf3keyTb4b4b4;
Tb4b4b4}
Te6edf3await Te6edf3windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(`Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3rrcTff7b72/Te6edf3hubsTff7b72/Te6edf3$Tb4b4b4{Te6edf3hubTb4b4b4.Te6edf3hub_hashTb4b4b4}Tff7b72/Te6edf3rooms`Tb4b4b4, Te6edf3payloadTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3hubTb4b4b4.Te6edf3connected Tff7b72|Tff7b72| Te6edf3hubTb4b4b4.Te6edf3status Tff7b72=Tff7b72=Tff7b72= T79c0ff2Tb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3infoTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.join_requestedTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.joined_roomTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3await Te6edf3thisTb4b4b4.Te6edf3fetchHubsTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72return Tffa657trueTb4b4b4;
Tb4b4b4} Te6edf3catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3message Tff7b72= Te6edf3eTb4b4b4.Te6edf3responseTff7b72?Tb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3message Tff7b72|Tff7b72| Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.action_failedTa5d6ff"Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3prompted Tff7b72&Tff7b72& Te6edf3thisTb4b4b4.Te6edf3isBadKeyErrorTextTb4b4b4(Te6edf3messageTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3await Te6edf3thisTb4b4b4.Te6edf3handleBadKeyErrorTb4b4b4(Te6edf3hubTb4b4b4.Te6edf3hub_hashTb4b4b4, Te6edf3roomTb4b4b4, Te6edf3messageTb4b4b4)Tb4b4b4;
Tff7b72return Tffa657falseTb4b4b4;
Tb4b4b4}
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3messageTb4b4b4)Tb4b4b4;
Tff7b72return Tffa657falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3async Te6edf3leaveRoomTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3thisTb4b4b4.Te6edf3selectedHub Tff7b72|Tff7b72| Tff7b72!Te6edf3thisTb4b4b4.Te6edf3selectedRoomTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3confirmed Tff7b72= Te6edf3await Te6edf3DialogUtilsTb4b4b4.Te6edf3confirmCustomTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.leave_room_confirmTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3confirmedTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3room Tff7b72= Te6edf3thisTb4b4b4.Te6edf3selectedRoomTb4b4b4;
Te6edf3try Tb4b4b4{
Te6edf3await Te6edf3windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3deleteTb4b4b4(`Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3rrcTff7b72/Te6edf3hubsTff7b72/Te6edf3$Tb4b4b4{Te6edf3thisTb4b4b4.Te6edf3selectedHubHashTb4b4b4}Tff7b72/Te6edf3roomsTff7b72/Te6edf3$Tb4b4b4{Te6edf3thisTb4b4b4.Te6edf3encodeRoomTb4b4b4(Te6edf3roomTb4b4b4)Tb4b4b4}`Tb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3selectedRoom Tff7b72= Te6edf3nullTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3messages Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3members Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.left_roomTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3await Te6edf3thisTb4b4b4.Te6edf3fetchHubsTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Te6edf3catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3eTb4b4b4.Te6edf3responseTff7b72?Tb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3message Tff7b72|Tff7b72| Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.action_failedTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3async Te6edf3clearMessagesTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3thisTb4b4b4.Te6edf3selectedHub Tff7b72|Tff7b72| Tff7b72!Te6edf3thisTb4b4b4.Te6edf3selectedRoomTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3confirmed Tff7b72= Te6edf3await Te6edf3DialogUtilsTb4b4b4.Te6edf3confirmTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.clear_messages_confirmTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3confirmedTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Te6edf3try Tb4b4b4{
Te6edf3await Te6edf3windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3deleteTb4b4b4(
`Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3rrcTff7b72/Te6edf3hubsTff7b72/Te6edf3$Tb4b4b4{Te6edf3thisTb4b4b4.Te6edf3selectedHubHashTb4b4b4}Tff7b72/Te6edf3roomsTff7b72/Te6edf3$Tb4b4b4{Te6edf3thisTb4b4b4.Te6edf3encodeRoomTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3selectedRoomTb4b4b4)Tb4b4b4}Tff7b72/Te6edf3messages`
Tb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3messages Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.messages_clearedTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4} Te6edf3catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3eTb4b4b4.Te6edf3responseTff7b72?Tb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3message Tff7b72|Tff7b72| Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.action_failedTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3async Te6edf3connectHubTb4b4b4(Te6edf3hubTb4b4b4) Tb4b4b4{
Te6edf3try Tb4b4b4{
Te6edf3await Te6edf3windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(`Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3rrcTff7b72/Te6edf3hubsTff7b72/Te6edf3$Tb4b4b4{Te6edf3hubTb4b4b4.Te6edf3hub_hashTb4b4b4}Tff7b72/Te6edf3connect`Tb4b4b4)Tb4b4b4;
Te6edf3await Te6edf3thisTb4b4b4.Te6edf3fetchHubsTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Te6edf3catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3eTb4b4b4.Te6edf3responseTff7b72?Tb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3message Tff7b72|Tff7b72| Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.action_failedTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3async Te6edf3disconnectHubTb4b4b4(Te6edf3hubTb4b4b4) Tb4b4b4{
Te6edf3try Tb4b4b4{
Te6edf3await Te6edf3windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(`Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3rrcTff7b72/Te6edf3hubsTff7b72/Te6edf3$Tb4b4b4{Te6edf3hubTb4b4b4.Te6edf3hub_hashTb4b4b4}Tff7b72/Te6edf3disconnect`Tb4b4b4)Tb4b4b4;
Te6edf3await Te6edf3thisTb4b4b4.Te6edf3fetchHubsTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Te6edf3catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3eTb4b4b4.Te6edf3responseTff7b72?Tb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3message Tff7b72|Tff7b72| Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.action_failedTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3openAddHubTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3addHubForm Tff7b72= Tb4b4b4{ Te6edf3hub_hashTff7b72: Ta5d6ff"Ta5d6ff"Tb4b4b4, Te6edf3nameTff7b72: Ta5d6ff"Ta5d6ff"Tb4b4b4, Te6edf3dest_nameTff7b72: Ta5d6ff"Ta5d6ff" Tb4b4b4}Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3addHubAdvancedOpen Tff7b72= Tffa657falseTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3showAddHub Tff7b72= Tffa657trueTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3async Te6edf3addHubTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3hubHash Tff7b72= Te6edf3thisTb4b4b4.Te6edf3addHubFormTb4b4b4.Te6edf3hub_hashTb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3hubHashTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3warningTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.invalid_hub_hashTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72returnTb4b4b4;
Tb4b4b4}
Te6edf3try Tb4b4b4{
Tff7b72const Te6edf3response Tff7b72= Te6edf3await Te6edf3windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(Ta5d6ff"Ta5d6ff/api/v1/rrc/hubsTa5d6ff"Tb4b4b4, Tb4b4b4{
Te6edf3hub_hashTb4b4b4: Te6edf3hubHashTb4b4b4,
Te6edf3nameTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3addHubFormTb4b4b4.Te6edf3nameTb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4) Tff7b72|Tff7b72| Te6edf3undefinedTb4b4b4,
Te6edf3dest_nameTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3addHubFormTb4b4b4.Te6edf3dest_nameTb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4) Tff7b72|Tff7b72| Te6edf3undefinedTb4b4b4,
Te6edf3connectTb4b4b4: Tffa657trueTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3showAddHub Tff7b72= Tffa657falseTb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.hub_addedTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3await Te6edf3thisTb4b4b4.Te6edf3fetchHubsTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3added Tff7b72= Te6edf3responseTb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3hubTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3addedTb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3selectedHubHash Tff7b72= Te6edf3addedTb4b4b4.Te6edf3hub_hashTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3expandedHubsTb4b4b4[Te6edf3addedTb4b4b4.Te6edf3hub_hashTb4b4b4] Tff7b72= Tffa657trueTb4b4b4;
Tb4b4b4}
Tb4b4b4} Te6edf3catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3eTb4b4b4.Te6edf3responseTff7b72?Tb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3message Tff7b72|Tff7b72| Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.invalid_hub_hashTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3async Te6edf3removeHubTb4b4b4(Te6edf3hubTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3confirmed Tff7b72= Te6edf3await Te6edf3DialogUtilsTb4b4b4.Te6edf3confirmTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.remove_hub_confirmTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3confirmedTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Te6edf3try Tb4b4b4{
Te6edf3await Te6edf3windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3deleteTb4b4b4(`Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3rrcTff7b72/Te6edf3hubsTff7b72/Te6edf3$Tb4b4b4{Te6edf3hubTb4b4b4.Te6edf3hub_hashTb4b4b4}`Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3thisTb4b4b4.Te6edf3selectedHubHash Tff7b72=Tff7b72=Tff7b72= Te6edf3hubTb4b4b4.Te6edf3hub_hashTb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3selectedHubHash Tff7b72= Te6edf3nullTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3selectedRoom Tff7b72= Te6edf3nullTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3messages Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3members Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tb4b4b4}
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.hub_removedTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3await Te6edf3thisTb4b4b4.Te6edf3fetchHubsTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Te6edf3catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3eTb4b4b4.Te6edf3responseTff7b72?Tb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3message Tff7b72|Tff7b72| Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.action_failedTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3openSettingsTb4b4b4(Te6edf3hubTb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3settingsHubHash Tff7b72= Te6edf3hubTb4b4b4.Te6edf3hub_hashTb4b4b4;
Tff7b72const Te6edf3defaultName Tff7b72= Te6edf3hubTb4b4b4.Te6edf3hub_name_announced Tff7b72|Tff7b72| Te6edf3hubTb4b4b4.Te6edf3name Tff7b72|Tff7b72| Ta5d6ff"Ta5d6ff"Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3settingsForm Tff7b72= Tb4b4b4{
Te6edf3auto_reconnectTb4b4b4: Te6edf3hubTb4b4b4.Te6edf3auto_reconnect Tff7b72!Tff7b72=Tff7b72= Tffa657falseTb4b4b4,
Te6edf3auto_listTb4b4b4: Tff7b72!Tff7b72!Te6edf3hubTb4b4b4.Te6edf3auto_listTb4b4b4,
Te6edf3auto_whoTb4b4b4: Tff7b72!Tff7b72!Te6edf3hubTb4b4b4.Te6edf3auto_whoTb4b4b4,
Te6edf3nickTb4b4b4: Te6edf3hubTb4b4b4.Te6edf3nick_override Tff7b72|Tff7b72| Ta5d6ff"Ta5d6ff"Tb4b4b4,
Te6edf3custom_nameTb4b4b4: Te6edf3hubTb4b4b4.Te6edf3custom_name Tff7b72|Tff7b72| Ta5d6ff"Ta5d6ff"Tb4b4b4,
Te6edf3default_nameTb4b4b4: Te6edf3defaultNameTb4b4b4,
Te6edf3has_custom_nameTb4b4b4: Tffa657BooleanTb4b4b4(Te6edf3hubTb4b4b4.Te6edf3custom_nameTb4b4b4)Tb4b4b4,
Te6edf3hub_iconTb4b4b4: Te6edf3normalizeMdiIconNameTb4b4b4(Te6edf3hubTb4b4b4.Te6edf3hub_iconTb4b4b4)Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3showSettings Tff7b72= Tffa657trueTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3openIconPickerTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3showIconPicker Tff7b72= Tffa657trueTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3onHubIconPickedTb4b4b4(Te6edf3iconNameTb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3settingsFormTb4b4b4.Te6edf3hub_icon Tff7b72= Te6edf3normalizeMdiIconNameTb4b4b4(Te6edf3iconNameTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3async Te6edf3saveSettingsTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3try Tb4b4b4{
Tff7b72const Te6edf3payload Tff7b72= Tb4b4b4{
Te6edf3auto_reconnectTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3settingsFormTb4b4b4.Te6edf3auto_reconnectTb4b4b4,
Te6edf3auto_listTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3settingsFormTb4b4b4.Te6edf3auto_listTb4b4b4,
Te6edf3auto_whoTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3settingsFormTb4b4b4.Te6edf3auto_whoTb4b4b4,
Te6edf3nickTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3settingsFormTb4b4b4.Te6edf3nickTb4b4b4,
Tb4b4b4}Tb4b4b4;
Tff7b72const Te6edf3trimmed Tff7b72= Tb4b4b4(Te6edf3thisTb4b4b4.Te6edf3settingsFormTb4b4b4.Te6edf3custom_name Tff7b72|Tff7b72| Ta5d6ff"Ta5d6ff"Tb4b4b4)Tb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3trimmed Tff7b72&Tff7b72& Te6edf3thisTb4b4b4.Te6edf3settingsFormTb4b4b4.Te6edf3has_custom_nameTb4b4b4) Tb4b4b4{
Te6edf3payloadTb4b4b4.Te6edf3revert_custom_name Tff7b72= Tffa657trueTb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3trimmedTb4b4b4) Tb4b4b4{
Te6edf3payloadTb4b4b4.Te6edf3custom_name Tff7b72= Te6edf3trimmedTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3icon Tff7b72= Te6edf3normalizeMdiIconNameTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3settingsFormTb4b4b4.Te6edf3hub_iconTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3hadIcon Tff7b72= Tffa657BooleanTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3settingsHubTff7b72?Tb4b4b4.Te6edf3hub_iconTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3icon Tff7b72&Tff7b72& Te6edf3hadIconTb4b4b4) Tb4b4b4{
Te6edf3payloadTb4b4b4.Te6edf3revert_hub_icon Tff7b72= Tffa657trueTb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3iconTb4b4b4) Tb4b4b4{
Te6edf3payloadTb4b4b4.Te6edf3hub_icon Tff7b72= Te6edf3iconTb4b4b4;
Tb4b4b4}
Te6edf3await Te6edf3windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3patchTb4b4b4(`Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3rrcTff7b72/Te6edf3hubsTff7b72/Te6edf3$Tb4b4b4{Te6edf3thisTb4b4b4.Te6edf3settingsHubHashTb4b4b4}`Tb4b4b4, Te6edf3payloadTb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3showSettings Tff7b72= Tffa657falseTb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.settings_savedTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3await Te6edf3thisTb4b4b4.Te6edf3fetchHubsTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Te6edf3catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3eTb4b4b4.Te6edf3responseTff7b72?Tb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3message Tff7b72|Tff7b72| Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.action_failedTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3isHubAddedTb4b4b4(Te6edf3destinationHashTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3thisTb4b4b4.Te6edf3hubsTb4b4b4.Te6edf3someTb4b4b4(Tb4b4b4(Te6edf3hubTb4b4b4) Tff7b72=Tff7b72> Te6edf3hubTb4b4b4.Te6edf3hub_hash Tff7b72=Tff7b72=Tff7b72= Te6edf3destinationHashTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3nodeNameTb4b4b4(Te6edf3nodeTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3nodeTb4b4b4.Te6edf3custom_display_nameTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3nodeTb4b4b4.Te6edf3custom_display_nameTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3nodeTb4b4b4.Te6edf3display_name Tff7b72&Tff7b72& Te6edf3nodeTb4b4b4.Te6edf3display_name Tff7b72!Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ffAnonymous PeerTa5d6ff"Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3nodeTb4b4b4.Te6edf3display_nameTb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3thisTb4b4b4.Te6edf3formatHashTb4b4b4(Te6edf3nodeTb4b4b4.Te6edf3destination_hashTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3async Te6edf3fetchDiscoveredTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3try Tb4b4b4{
Tff7b72const Te6edf3response Tff7b72= Te6edf3await Te6edf3windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3getTb4b4b4(Ta5d6ff"Ta5d6ff/api/v1/announcesTa5d6ff"Tb4b4b4, Tb4b4b4{
Te6edf3paramsTb4b4b4: Tb4b4b4{
Te6edf3aspectTb4b4b4: Ta5d6ff"Ta5d6ffrrc.hubTa5d6ff"Tb4b4b4,
Te6edf3limitTb4b4b4: T79c0ff200Tb4b4b4,
Te6edf3searchTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3discoverySearch Tff7b72|Tff7b72| Te6edf3undefinedTb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3discovered Tff7b72= Te6edf3responseTb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3announces Tff7b72|Tff7b72| Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tb4b4b4} Te6edf3catch Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3discovered Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3async Te6edf3refreshDiscoveredTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3discoveryLoading Tff7b72= Tffa657trueTb4b4b4;
Te6edf3try Tb4b4b4{
Te6edf3await Te6edf3thisTb4b4b4.Te6edf3fetchDiscoveredTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3infoTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.discovery_refreshedTa5d6ff"Tb4b4b4) Tff7b72+ Ta5d6ff"Ta5d6ff (Ta5d6ff" Tff7b72+ Te6edf3thisTb4b4b4.Te6edf3discoveredTb4b4b4.Te6edf3length Tff7b72+ Ta5d6ff"Ta5d6ff)Ta5d6ff"Tb4b4b4)Tb4b4b4;
Tb4b4b4} Te6edf3finally Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3discoveryLoading Tff7b72= Tffa657falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3onDiscoverySearchTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3thisTb4b4b4.Te6edf3discoverySearchTimerTb4b4b4) Tb4b4b4{
Te6edf3clearTimeoutTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3discoverySearchTimerTb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3thisTb4b4b4.Te6edf3discoverySearchTimer Tff7b72= Te6edf3setTimeoutTb4b4b4(Tb4b4b4(Tb4b4b4) Tff7b72=Tff7b72> Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3fetchDiscoveredTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4, T79c0ff300Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3upsertDiscoveredTb4b4b4(Te6edf3announceTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3index Tff7b72= Te6edf3thisTb4b4b4.Te6edf3discoveredTb4b4b4.Te6edf3findIndexTb4b4b4(Tb4b4b4(Te6edf3nTb4b4b4) Tff7b72=Tff7b72> Te6edf3nTb4b4b4.Te6edf3destination_hash Tff7b72=Tff7b72=Tff7b72= Te6edf3announceTb4b4b4.Te6edf3destination_hashTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3index Tff7b72>Tff7b72= T79c0ff0Tb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3discoveredTb4b4b4.Te6edf3spliceTb4b4b4(Te6edf3indexTb4b4b4, T79c0ff1Tb4b4b4, Te6edf3announceTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3discoveredTb4b4b4.Te6edf3unshiftTb4b4b4(Te6edf3announceTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3async Te6edf3addFromDiscoveryTb4b4b4(Te6edf3nodeTb4b4b4) Tb4b4b4{
Te6edf3try Tb4b4b4{
Tff7b72const Te6edf3response Tff7b72= Te6edf3await Te6edf3windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(Ta5d6ff"Ta5d6ff/api/v1/rrc/hubsTa5d6ff"Tb4b4b4, Tb4b4b4{
Te6edf3hub_hashTb4b4b4: Te6edf3nodeTb4b4b4.Te6edf3destination_hashTb4b4b4,
Te6edf3nameTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3nodeNameTb4b4b4(Te6edf3nodeTb4b4b4)Tb4b4b4,
Te6edf3dest_nameTb4b4b4: Ta5d6ff"Ta5d6ffrrc.hubTa5d6ff"Tb4b4b4,
Te6edf3connectTb4b4b4: Tffa657trueTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.discovery_addedTa5d6ff"Tb4b4b4)Tb4b4b4;
Te6edf3await Te6edf3thisTb4b4b4.Te6edf3fetchHubsTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3added Tff7b72= Te6edf3responseTb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3hubTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3addedTb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3selectedHubHash Tff7b72= Te6edf3addedTb4b4b4.Te6edf3hub_hashTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3expandedHubsTb4b4b4[Te6edf3addedTb4b4b4.Te6edf3hub_hashTb4b4b4] Tff7b72= Tffa657trueTb4b4b4;
Tb4b4b4}
Te6edf3thisTb4b4b4.Te6edf3view Tff7b72= Ta5d6ff"Ta5d6ffchatTa5d6ff"Tb4b4b4;
Tb4b4b4} Te6edf3catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3eTb4b4b4.Te6edf3responseTff7b72?Tb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3message Tff7b72|Tff7b72| Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.action_failedTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3openDiscoveredTb4b4b4(Te6edf3nodeTb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3selectedHubHash Tff7b72= Te6edf3nodeTb4b4b4.Te6edf3destination_hashTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3expandedHubsTb4b4b4[Te6edf3nodeTb4b4b4.Te6edf3destination_hashTb4b4b4] Tff7b72= Tffa657trueTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3view Tff7b72= Ta5d6ff"Ta5d6ffchatTa5d6ff"Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3selectHostViewTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3view Tff7b72= Ta5d6ff"Ta5d6ffhostTa5d6ff"Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3fetchServersTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3async Te6edf3fetchServersTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3try Tb4b4b4{
Tff7b72const Te6edf3response Tff7b72= Te6edf3await Te6edf3windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3getTb4b4b4(Ta5d6ff"Ta5d6ff/api/v1/rrc/serversTa5d6ff"Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3hubs Tff7b72= Te6edf3responseTb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3hubs Tff7b72|Tff7b72| Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72const Te6edf3hub Te6edf3of Te6edf3hubsTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3thisTb4b4b4.Te6edf3roomFormsTb4b4b4[Te6edf3hubTb4b4b4.Tffa657idTb4b4b4]Tb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3roomFormsTb4b4b4[Te6edf3hubTb4b4b4.Tffa657idTb4b4b4] Tff7b72= Tb4b4b4{ Te6edf3nameTff7b72: Ta5d6ff"Ta5d6ff"Tb4b4b4, Te6edf3topicTff7b72: Ta5d6ff"Ta5d6ff"Tb4b4b4, Te6edf3privateTff7b72: Tffa657false Tb4b4b4}Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Te6edf3thisTb4b4b4.Te6edf3serverHubs Tff7b72= Te6edf3hubsTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3hostUptimeAnchorMs Tff7b72= Te6edf3DateTb4b4b4.Te6edf3nowTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3hostUptimeTick Tff7b72= T79c0ff0Tb4b4b4;
Tb4b4b4} Te6edf3catch Tb4b4b4{
T8b949e// relay chat hosting may be unavailable for this identity
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3openCreateHubTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3createHubForm Tff7b72= Tb4b4b4{
Te6edf3nameTb4b4b4: Ta5d6ff"Ta5d6ff"Tb4b4b4,
Te6edf3greetingTb4b4b4: Ta5d6ff"Ta5d6ff"Tb4b4b4,
Te6edf3announceTb4b4b4: Tffa657trueTb4b4b4,
Te6edf3announce_interval_secondsTb4b4b4: Te6edf3DEFAULT_ANNOUNCE_INTERVAL_SECONDSTb4b4b4,
Tb4b4b4}Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3createAnnounceIntervalDraft Tff7b72= Te6edf3nullTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3showCreateHub Tff7b72= Tffa657trueTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3async Te6edf3createServerHubTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3try Tb4b4b4{
Te6edf3await Te6edf3windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(Ta5d6ff"Ta5d6ff/api/v1/rrc/serversTa5d6ff"Tb4b4b4, Tb4b4b4{
Te6edf3nameTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3createHubFormTb4b4b4.Te6edf3nameTb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4) Tff7b72|Tff7b72| Te6edf3undefinedTb4b4b4,
Te6edf3greetingTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3createHubFormTb4b4b4.Te6edf3greetingTb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4) Tff7b72|Tff7b72| Te6edf3undefinedTb4b4b4,
Te6edf3announceTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3createHubFormTb4b4b4.Te6edf3announceTb4b4b4,
Te6edf3announce_interval_secondsTb4b4b4: Te6edf3thisTb4b4b4.Te6edf3createHubFormTb4b4b4.Te6edf3announce_interval_secondsTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3showCreateHub Tff7b72= Tffa657falseTb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.host_hub_createdTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3await Te6edf3thisTb4b4b4.Te6edf3fetchServersTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Te6edf3catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3eTb4b4b4.Te6edf3responseTff7b72?Tb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3message Tff7b72|Tff7b72| Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.action_failedTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3async Te6edf3deleteServerHubTb4b4b4(Te6edf3hubTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3confirmed Tff7b72= Te6edf3await Te6edf3DialogUtilsTb4b4b4.Te6edf3confirmTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.host_delete_hub_confirmTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3confirmedTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Te6edf3try Tb4b4b4{
Te6edf3await Te6edf3windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3deleteTb4b4b4(`Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3rrcTff7b72/Te6edf3serversTff7b72/Te6edf3$Tb4b4b4{Te6edf3hubTb4b4b4.Tffa657idTb4b4b4}`Tb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.host_hub_deletedTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3await Te6edf3thisTb4b4b4.Te6edf3fetchServersTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Te6edf3catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3eTb4b4b4.Te6edf3responseTff7b72?Tb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3message Tff7b72|Tff7b72| Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.action_failedTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3async Te6edf3startServerHubTb4b4b4(Te6edf3hubTb4b4b4) Tb4b4b4{
Te6edf3try Tb4b4b4{
Te6edf3await Te6edf3windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(`Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3rrcTff7b72/Te6edf3serversTff7b72/Te6edf3$Tb4b4b4{Te6edf3hubTb4b4b4.Tffa657idTb4b4b4}Tff7b72/Te6edf3start`Tb4b4b4)Tb4b4b4;
Te6edf3await Te6edf3thisTb4b4b4.Te6edf3fetchServersTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Te6edf3catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3eTb4b4b4.Te6edf3responseTff7b72?Tb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3message Tff7b72|Tff7b72| Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.action_failedTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3async Te6edf3stopServerHubTb4b4b4(Te6edf3hubTb4b4b4) Tb4b4b4{
Te6edf3try Tb4b4b4{
Te6edf3await Te6edf3windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(`Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3rrcTff7b72/Te6edf3serversTff7b72/Te6edf3$Tb4b4b4{Te6edf3hubTb4b4b4.Tffa657idTb4b4b4}Tff7b72/Te6edf3stop`Tb4b4b4)Tb4b4b4;
Te6edf3await Te6edf3thisTb4b4b4.Te6edf3fetchServersTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Te6edf3catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3eTb4b4b4.Te6edf3responseTff7b72?Tb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3message Tff7b72|Tff7b72| Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.action_failedTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3async Te6edf3announceServerHubTb4b4b4(Te6edf3hubTb4b4b4) Tb4b4b4{
Te6edf3try Tb4b4b4{
Te6edf3await Te6edf3windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(`Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3rrcTff7b72/Te6edf3serversTff7b72/Te6edf3$Tb4b4b4{Te6edf3hubTb4b4b4.Tffa657idTb4b4b4}Tff7b72/Te6edf3announce`Tb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.host_announcedTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4} Te6edf3catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3eTb4b4b4.Te6edf3responseTff7b72?Tb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3message Tff7b72|Tff7b72| Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.action_failedTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3async Te6edf3createRoomTb4b4b4(Te6edf3hubTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3form Tff7b72= Te6edf3thisTb4b4b4.Te6edf3roomFormsTb4b4b4[Te6edf3hubTb4b4b4.Tffa657idTb4b4b4] Tff7b72|Tff7b72| Tb4b4b4{Tb4b4b4}Tb4b4b4;
Tff7b72const Te6edf3name Tff7b72= Tb4b4b4(Te6edf3formTb4b4b4.Te6edf3name Tff7b72|Tff7b72| Ta5d6ff"Ta5d6ff"Tb4b4b4)Tb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3nameTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3warningTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.room_requiredTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72returnTb4b4b4;
Tb4b4b4}
Te6edf3try Tb4b4b4{
Te6edf3await Te6edf3windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(`Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3rrcTff7b72/Te6edf3serversTff7b72/Te6edf3$Tb4b4b4{Te6edf3hubTb4b4b4.Tffa657idTb4b4b4}Tff7b72/Te6edf3rooms`Tb4b4b4, Tb4b4b4{
Te6edf3nameTb4b4b4,
Te6edf3topicTb4b4b4: Tb4b4b4(Te6edf3formTb4b4b4.Te6edf3topic Tff7b72|Tff7b72| Ta5d6ff"Ta5d6ff"Tb4b4b4)Tb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4) Tff7b72|Tff7b72| Te6edf3undefinedTb4b4b4,
Te6edf3privateTff7b72: Tff7b72!Tff7b72!Te6edf3formTb4b4b4.Te6edf3privateTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3roomFormsTb4b4b4[Te6edf3hubTb4b4b4.Tffa657idTb4b4b4] Tff7b72= Tb4b4b4{ Te6edf3nameTff7b72: Ta5d6ff"Ta5d6ff"Tb4b4b4, Te6edf3topicTff7b72: Ta5d6ff"Ta5d6ff"Tb4b4b4, Te6edf3privateTff7b72: Tffa657false Tb4b4b4}Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.host_room_createdTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3await Te6edf3thisTb4b4b4.Te6edf3fetchServersTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Te6edf3catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3eTb4b4b4.Te6edf3responseTff7b72?Tb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3message Tff7b72|Tff7b72| Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.action_failedTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3async Te6edf3deleteRoomTb4b4b4(Te6edf3hubTb4b4b4, Te6edf3roomTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3confirmed Tff7b72= Te6edf3await Te6edf3DialogUtilsTb4b4b4.Te6edf3confirmTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.host_delete_room_confirmTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3confirmedTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Te6edf3try Tb4b4b4{
Te6edf3await Te6edf3windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3deleteTb4b4b4(`Tff7b72/Te6edf3apiTff7b72/Te6edf3v1Tff7b72/Te6edf3rrcTff7b72/Te6edf3serversTff7b72/Te6edf3$Tb4b4b4{Te6edf3hubTb4b4b4.Tffa657idTb4b4b4}Tff7b72/Te6edf3roomsTff7b72/Te6edf3$Tb4b4b4{Te6edf3thisTb4b4b4.Te6edf3encodeRoomTb4b4b4(Te6edf3roomTb4b4b4)Tb4b4b4}`Tb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.host_room_deletedTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3await Te6edf3thisTb4b4b4.Te6edf3fetchServersTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Te6edf3catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3eTb4b4b4.Te6edf3responseTff7b72?Tb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3message Tff7b72|Tff7b72| Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.action_failedTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3openHostModerationTb4b4b4(Te6edf3hubTb4b4b4, Tb4b4b4{ Te6edf3tab Tff7b72= Ta5d6ff"Ta5d6ffroomsTa5d6ff"Tb4b4b4, Te6edf3room Tff7b72= Te6edf3null Tb4b4b4} Tff7b72= Tb4b4b4{Tb4b4b4}Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3hubTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3tab Tff7b72=Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ffmembersTa5d6ff" Tff7b72&Tff7b72& Tff7b72!Te6edf3hubTb4b4b4.Te6edf3runningTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3warningTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.host_hub_not_runningTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72returnTb4b4b4;
Tb4b4b4}
Te6edf3thisTb4b4b4.Te6edf3hostModeration Tff7b72= Tb4b4b4{
Te6edf3hubTb4b4b4,
Te6edf3tabTb4b4b4: Te6edf3tab Tff7b72=Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ffmembersTa5d6ff" Tff7b72? Ta5d6ff"Ta5d6ffmembersTa5d6ff" Tff7b72: Ta5d6ff"Ta5d6ffroomsTa5d6ff"Tb4b4b4,
Te6edf3roomTb4b4b4: Te6edf3room Tff7b72|Tff7b72| Te6edf3nullTb4b4b4,
Tb4b4b4}Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3closeHostModerationTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3hostModeration Tff7b72= Tb4b4b4{
Te6edf3hubTb4b4b4: Te6edf3nullTb4b4b4,
Te6edf3tabTb4b4b4: Ta5d6ff"Ta5d6ffroomsTa5d6ff"Tb4b4b4,
Te6edf3roomTb4b4b4: Te6edf3nullTb4b4b4,
Tb4b4b4}Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3copyHashTb4b4b4(Te6edf3hashTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3hashTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Te6edf3try Tb4b4b4{
Te6edf3navigatorTb4b4b4.Te6edf3clipboardTb4b4b4.Te6edf3writeTextTb4b4b4(Te6edf3hashTb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.hash_copiedTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4} Te6edf3catch Tb4b4b4{
T8b949e// clipboard may be unavailable
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3async Te6edf3shareHubLinkTb4b4b4(Tb4b4b4{ Te6edf3hub_hashTb4b4b4, Te6edf3name Tff7b72= Ta5d6ff"Ta5d6ff"Tb4b4b4, Te6edf3room Tff7b72= Ta5d6ff"Ta5d6ff"Tb4b4b4, Te6edf3aspect Tff7b72= Ta5d6ff"Ta5d6ff" Tb4b4b4} Tff7b72= Tb4b4b4{Tb4b4b4}Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3text Tff7b72= Te6edf3buildRelayShareMessageTb4b4b4(Tb4b4b4{
Te6edf3hubTb4b4b4: Te6edf3hub_hashTb4b4b4,
Te6edf3nameTb4b4b4,
Te6edf3roomTb4b4b4,
Te6edf3aspectTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3textTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.action_failedTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72returnTb4b4b4;
Tb4b4b4}
Te6edf3try Tb4b4b4{
Te6edf3await Te6edf3navigatorTb4b4b4.Te6edf3clipboardTb4b4b4.Te6edf3writeTextTb4b4b4(Te6edf3textTb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.share_copiedTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4} Te6edf3catch Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.action_failedTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3async Te6edf3joinHostedAsClientTb4b4b4(Te6edf3hubTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3hubTff7b72?Tb4b4b4.Te6edf3dest_hashTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Te6edf3try Tb4b4b4{
Tff7b72const Te6edf3response Tff7b72= Te6edf3await Te6edf3windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(Ta5d6ff"Ta5d6ff/api/v1/rrc/hubsTa5d6ff"Tb4b4b4, Tb4b4b4{
Te6edf3hub_hashTb4b4b4: Te6edf3hubTb4b4b4.Te6edf3dest_hashTb4b4b4,
Te6edf3nameTb4b4b4: Te6edf3hubTb4b4b4.Te6edf3name Tff7b72|Tff7b72| Te6edf3undefinedTb4b4b4,
Te6edf3dest_nameTb4b4b4: Ta5d6ff"Ta5d6ffrrc.hubTa5d6ff"Tb4b4b4,
Te6edf3connectTb4b4b4: Tffa657trueTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.host_joined_as_clientTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3await Te6edf3thisTb4b4b4.Te6edf3fetchHubsTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3added Tff7b72= Te6edf3responseTb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3hubTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3addedTb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3selectedHubHash Tff7b72= Te6edf3addedTb4b4b4.Te6edf3hub_hashTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3expandedHubsTb4b4b4[Te6edf3addedTb4b4b4.Te6edf3hub_hashTb4b4b4] Tff7b72= Tffa657trueTb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3selectedHubHash Tff7b72= Te6edf3hubTb4b4b4.Te6edf3dest_hashTb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3expandedHubsTb4b4b4[Te6edf3hubTb4b4b4.Te6edf3dest_hashTb4b4b4] Tff7b72= Tffa657trueTb4b4b4;
Tb4b4b4}
Te6edf3thisTb4b4b4.Te6edf3view Tff7b72= Ta5d6ff"Ta5d6ffchatTa5d6ff"Tb4b4b4;
Tb4b4b4} Te6edf3catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3eTb4b4b4.Te6edf3responseTff7b72?Tb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3message Tff7b72|Tff7b72| Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.action_failedTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3async Te6edf3leaveHostedAsClientTb4b4b4(Te6edf3hubTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3hubTff7b72?Tb4b4b4.Te6edf3dest_hashTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3clientHub Tff7b72= Te6edf3thisTb4b4b4.Te6edf3hubsTb4b4b4.Te6edf3findTb4b4b4(Tb4b4b4(Te6edf3hTb4b4b4) Tff7b72=Tff7b72> Te6edf3hTb4b4b4.Te6edf3hub_hash Tff7b72=Tff7b72=Tff7b72= Te6edf3hubTb4b4b4.Te6edf3dest_hashTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3clientHubTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Te6edf3await Te6edf3thisTb4b4b4.Te6edf3removeHubTb4b4b4(Te6edf3clientHubTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3onWebsocketMessageTb4b4b4(Te6edf3messageTb4b4b4) Tb4b4b4{
Te6edf3let Te6edf3jsonTb4b4b4;
Te6edf3try Tb4b4b4{
Te6edf3json Tff7b72= Te6edf3JSONTb4b4b4.Te6edf3parseTb4b4b4(Te6edf3messageTb4b4b4.Te6edf3dataTb4b4b4)Tb4b4b4;
Tb4b4b4} Te6edf3catch Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3jsonTb4b4b4.Te6edf3type Tff7b72=Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ffrrc.changeTa5d6ff"Tb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3fetchHubsTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3jsonTb4b4b4.Te6edf3type Tff7b72=Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ffrrc.messageTa5d6ff"Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3jsonTb4b4b4.Te6edf3message Tff7b72&Tff7b72& Te6edf3jsonTb4b4b4.Te6edf3messageTb4b4b4.Te6edf3kind Tff7b72=Tff7b72=Tff7b72= Ta5d6ff"Ta5d6fferrorTa5d6ff" Tff7b72&Tff7b72& Te6edf3thisTb4b4b4.Te6edf3isBadKeyErrorTextTb4b4b4(Te6edf3jsonTb4b4b4.Te6edf3messageTb4b4b4.Te6edf3textTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3handleBadKeyErrorTb4b4b4(Te6edf3jsonTb4b4b4.Te6edf3hub_hashTb4b4b4, Te6edf3jsonTb4b4b4.Te6edf3room Tff7b72|Tff7b72| Te6edf3jsonTb4b4b4.Te6edf3messageTb4b4b4.Te6edf3roomTb4b4b4, Te6edf3jsonTb4b4b4.Te6edf3messageTb4b4b4.Te6edf3textTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3jsonTb4b4b4.Te6edf3hub_hash Tff7b72=Tff7b72=Tff7b72= Te6edf3thisTb4b4b4.Te6edf3selectedHubHash Tff7b72&Tff7b72& Te6edf3jsonTb4b4b4.Te6edf3room Tff7b72=Tff7b72=Tff7b72= Te6edf3thisTb4b4b4.Te6edf3selectedRoom Tff7b72&Tff7b72& Te6edf3jsonTb4b4b4.Te6edf3messageTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3relayMessageAlreadyPresentTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3messagesTb4b4b4, Te6edf3jsonTb4b4b4.Te6edf3messageTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3messagesTb4b4b4.Te6edf3pushTb4b4b4(Te6edf3jsonTb4b4b4.Te6edf3messageTb4b4b4)Tb4b4b4;
Te6edf3thisTb4b4b4.Te6edf3scrollToBottomTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3jsonTb4b4b4.Te6edf3messageTb4b4b4.Te6edf3kind Tff7b72=Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ffsystemTa5d6ff" Tff7b72|Tff7b72| Te6edf3jsonTb4b4b4.Te6edf3messageTb4b4b4.Te6edf3kind Tff7b72=Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ffnoticeTa5d6ff"Tb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3refreshMembersTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
T8b949e// Chat is already open: dismiss unread/mention badge without waiting
T8b949e// for a later hub list refresh race.
Te6edf3thisTb4b4b4.Te6edf3markRoomReadTb4b4b4(Te6edf3jsonTb4b4b4.Te6edf3hub_hashTb4b4b4, Te6edf3jsonTb4b4b4.Te6edf3roomTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3jsonTb4b4b4.Te6edf3message Tff7b72&Tff7b72& Te6edf3jsonTb4b4b4.Te6edf3messageTb4b4b4.Te6edf3kind Tff7b72=Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ffmsgTa5d6ff"Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3onRelayPage Tff7b72= Te6edf3thisTb4b4b4.Te6edf3$routeTff7b72?Tb4b4b4.Te6edf3name Tff7b72=Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ffrelay-chatTa5d6ff" Tff7b72|Tff7b72| Te6edf3thisTb4b4b4.Te6edf3$routeTff7b72?Tb4b4b4.Te6edf3name Tff7b72=Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ffrelay-chat-popoutTa5d6ff"Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3onRelayPage Tff7b72|Tff7b72| Te6edf3jsonTb4b4b4.Te6edf3hub_hash Tff7b72!Tff7b72=Tff7b72= Te6edf3thisTb4b4b4.Te6edf3selectedHubHash Tff7b72|Tff7b72| Te6edf3jsonTb4b4b4.Te6edf3room Tff7b72!Tff7b72=Tff7b72= Te6edf3thisTb4b4b4.Te6edf3selectedRoomTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3infoTb4b4b4(Te6edf3thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"Ta5d6ffrelay_chat.new_message_toastTa5d6ff"Tb4b4b4, Tb4b4b4{ Te6edf3roomTff7b72: Te6edf3jsonTb4b4b4.Te6edf3room Tff7b72|Tff7b72| Ta5d6ff"Ta5d6ff" Tb4b4b4}Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3thisTb4b4b4.Te6edf3fetchHubsTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3fetchHubsTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3jsonTb4b4b4.Te6edf3type Tff7b72=Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ffrrc.server.changeTa5d6ff"Tb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3fetchServersTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3jsonTb4b4b4.Te6edf3type Tff7b72=Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ffannounceTa5d6ff" Tff7b72&Tff7b72& Te6edf3jsonTb4b4b4.Te6edf3announce Tff7b72&Tff7b72& Te6edf3jsonTb4b4b4.Te6edf3announceTb4b4b4.Te6edf3aspect Tff7b72=Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ffrrc.hubTa5d6ff"Tb4b4b4) Tb4b4b4{
Te6edf3thisTb4b4b4.Te6edf3upsertDiscoveredTb4b4b4(Te6edf3jsonTb4b4b4.Te6edf3announceTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tff7b72<Tff7b72/Te6edf3scriptTff7b72>

Served by rngit 1.5.2 - Generated in 0.29s